首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用datetime、decimal、GUID和Nullable类型时,MVC模型绑定速度较慢

使用datetime、decimal、GUID和Nullable类型时,MVC模型绑定速度较慢
EN

Stack Overflow用户
提问于 2016-02-01 23:59:28
回答 1查看 553关注 0票数 1

我目前正在处理一个ASP.Net项目中的性能问题,当将数据发送回我们的服务器时。数据集相当大,包含1000多个项目,每个项目都是同一视图模型的一个实例。

视图模型由30多个属性组成(字符串、guids、小数、日期时间、枚举等)。我们的问题是,模型绑定花费了大量愚蠢的时间,这将极大地影响用户体验。我们说的是一个帖子8-10分钟。

我正在查看Fiddler中的请求,生成的JSON没有问题,请求很快就被触发了。当在被调用的控制器方法中放置一个断点时,它在8-10分钟内不会被击中。

作为我研究的一部分,我剥离了视图模型,将日期时间改为双精度,将Guid改为字符串,将枚举改为整数,将小数改为双精度。这将数据命中控制器方法的时间缩短到30秒左右。我猜这与框架必须将数千个属性打包到其.Net类型中有关。

有没有其他方法来解决这个问题?更改视图模型中的数据类型可能会给我们带来很多问题,也会带来很多额外的工作。

EN

回答 1

Stack Overflow用户

发布于 2016-02-03 00:45:59

MVC中的默认模型绑定器可能非常慢,因为它必须处理所有通用的模型绑定情况。它必须与反射和其他一些东西混在一起。也就是说,在处理相同模型的列表时,您会希望它更聪明一些。

我怀疑您可能不得不考虑为这种情况创建一个自定义模型绑定器,而不是依赖于缺省的。

这将意味着实现IModelBinder接口,并将其指定为模型的模型绑定器。至少要调查的东西

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35134856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档