【问题标题】:Sessions and performance in asp.net MVCasp.net MVC 中的会话和性能
【发布时间】:2010-10-07 06:32:31
【问题描述】:

asp.net MVC 确实不使用 SESSIONS [Sessions varibale],因此它的性能优于 asp.net webform。 如果不是这样,为什么asp.net MVC的速度比asp.net webform快?

【问题讨论】:

  • @InSane 我已经看到了.. 我是 www.asp.net 社区的忠实粉丝,但我可以看到我的浏览器加载 www.stackoverflow.com 的速度有多快。
  • 与框架无关。该框架只为开发人员工具提供了这项工作(正如达林所说)。由开发人员编写快速应用程序。 mvc 在“销售”方面比 Web 表单做得更好。
  • @InSane - 我是 asp.net 应用程序的初学者。我真的没有勇气去挑战我认为应该由微软开发的 www.asp.net 网站的代码质量。我提出这个问题的目的是了解 asp.net MVC 中会话管理的使用,当然我认为如果 Micosoft 推出新的farmework,他们将始终尝试提高性能.. :-)
  • 这是您问题的第二部分,对我来说似乎有点争议。此外,您上面的评论似乎让我认为,也许您假设 asp.net mvc 是 asp.net webforms 的增强后继者,但事实并非如此。另外,如果我是 asp.net 的初学者,我不会认为仅仅因为某些东西是由某家知名大公司编写的,就可以保证其质量:-)

标签: asp.net asp.net-mvc performance session


【解决方案1】:

不,这不是真的。 ASP.NET MVC 构建在 ASP.NET 之上,因此您拥有相同的存储选项,例如应用程序、会话、缓存……由开发人员决定是否要使用会话。因此,如果您在 ASP.NET MVC 应用程序中使用 Session,性能将与在经典 WebForms 应用程序中使用 Session 相同。

【讨论】:

    【解决方案2】:

    它实际上没有使用VIEWSTATE,因为视图状态数据不会在客户端和服务器之间来回传输,因此MVC页面加载速度更快。

    【讨论】:

    • 视图状态与会话有什么关系?
    • @RPM 很好,我回答了性能部分。我不确定会话。
    【解决方案3】:

    只要您使用 TempData,ASP.NET MVC 就会使用 Session。但是,Session 在性能上并不是天生就很差。在多台机器上横向扩展时会遇到问题,这意味着在定义架构时需要考虑到这一点。如果您确实选择使用会话,请不要直接从您的控制器中引用它。始终提供抽象以允许不同的实现实现可扩展性。

    关于与 WebForms 相比的性能,我相信开发人员能够使用任一平台编写可扩展的网站。但是,他们也能够同时编写性能不佳的网站。 Srinivas 是正确的,MVC 不使用 VIEWSTATE,因此您的页面的下载占用空间更小。

    对我来说,MVC 的主要好处是支持单元测试。您还可以更好地控制标记,如果这是您需要的东西。但在选择 WebForms 还是 MVC 时,性能并不是您真正需要考虑的因素。

    【讨论】:

      猜你喜欢
      • 2011-04-17
      • 2023-03-05
      • 1970-01-01
      • 2012-08-17
      • 1970-01-01
      • 2011-05-15
      • 1970-01-01
      • 2015-01-14
      相关资源
      最近更新 更多