c# - ASP.NET MVC : Is UpdateModel an "expensive" operation (due to Reflection)?

标签 c# .net asp.net asp.net-mvc updatemodel

我想知道 UpdateModel 是否被认为是一个“昂贵”的操作(由于模型属性的反射查找),尤其是在大型网络应用程序的上下文中(想想 StackOverflow)?

我不想过早进行优化,但我认为使用 UpdateModel 是一种设计选择,这就是为什么我想尽早知道是否建议使用它。另一个(乏味的)选择是为具有固定属性的各种域对象编写我自己的 UpdateModel 方法。

谢谢!

最佳答案

您不想进行过早的优化是明智的。特别是因为这种“优化”将使处理器的时间超过您的时间,而您的时间要贵得多。

优化的主要规则是首先优化慢的东西。因此,请考虑您实际更新模型的频率与从数据库后端进行选择的频率。我猜它的频率是 1/10 或更少。现在考虑从数据库后端选择的成本与反射成本。反射成本以毫秒为单位。从数据库后端选择的成本在最坏的情况下可以用秒来衡量。我的经验是 POST 很少很慢,当它们很慢时,通常是数据库有问题而不是反射。我认为您可能会将大部分优化时间花在 GET 上。

关于c# - ASP.NET MVC : Is UpdateModel an "expensive" operation (due to Reflection)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1204628/

相关文章:

c# - 如何判断一个DLL是托管程序集还是原生(防止加载原生dll)?

c# - 从字符串数组中替换所有出现的字符串

C# 格式化约定

.net - 如何将消息从一个程序传递到另一个程序?

c# - Medium Trust 允许哪些反射权限?

asp.net - 构建asp.net mvc网站时出错

c# - 如何在 Magick.NET Read 中设置位深度

c# - 更新 UserPrincipal 上的名称字段

c# - 使用C#从flv文件中提取信息

asp.net - 使用 requireSSL=true 进行表单例份验证不返回具有安全属性的 cookie