【问题标题】:Different ways of initializing a Model for a View in ASP.NET MVC在 ASP.NET MVC 中为视图初始化模型的不同方法
【发布时间】:2010-11-24 08:24:06
【问题描述】:

当使用这两种不同的方式为视图声明模型时,ASP.NET MVC 控制器的实际内存/性能增益是多少?

User user = userService.GetByID(id);
return View(user);

return View(userService.GetById(id));

我假设最后一个性能更高一些,因为我们不初始化对象,但是第一个更具可读性。这在拥有数千名访问者的网络服务器上是否重要?

【问题讨论】:

    标签: c# asp.net-mvc performance memory


    【解决方案1】:

    就分配的内存和垃圾收集器的行为而言,这两条语句之间的差异为零。使用您喜欢阅读的内容:-)

    【讨论】:

      【解决方案2】:

      实际上,你在这两种情况下都初始化了一个对象;第一个正在做而第二个不是:1)为变量保留一些空间(这与性能无关,但空间); 2) 添加对该对象的引用(即增加该对象的引用数),然后删除该引用(减少引用数)之后的行。

      我几乎不相信两者之间可以观察到性能差异。

      也就是说,我更喜欢第二个,因为那里不需要user 变量;无论如何,这只是口味问题,可能有样式原因更喜欢第一个,而其他人更喜欢第二个。

      【讨论】:

      • 好吧,我不知道userService.GetById 是创建一个对象还是返回一个现有的对象,但我希望我说清楚了...
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-10
      • 1970-01-01
      • 1970-01-01
      • 2021-11-26
      • 2015-05-28
      • 2011-07-03
      • 1970-01-01
      相关资源
      最近更新 更多