【发布时间】:2023-11-09 03:00:01
【问题描述】:
我看到 .Net 中的 Web 开发世界现在分为 Asp.Net Webforms 和 MVC,第三类更喜欢在同一个应用程序中使用两者。
我的问题:ViewState 通常被视为邪恶,是大多数应用程序的主要性能瓶颈。但是,如果我们正确使用它,那么我根本看不到任何问题。关于 Asp.Net MVC 3.0/4.0 beta 的讨论太多了,而且它没有 ViewState。
但我担心的是,Asp.Net MVC 如何帮助提高性能,因为在我看来,我们在
中绑定了控件if (!IsPostback) {}
在 Asp.Net MVC 中,我们每次都绑定控件,并可能在每次发布表单时发出数据库请求。 Asp.Net Winforms 在这方面不占上风吗?能否保证 Asp.Net MVC 在所有情况下都表现得更好?
编辑:我不想引发任何争议,而且我只是在谈论 Asp.Net 代码,而不是在 Javascript 缩小、CSS 缩小和所有其他技巧之后的性能。
【问题讨论】:
-
您要求绝对保证,所以我可以放心地说“不,没有保证”。并且对这个答案感到很自在。有太多因素需要考虑,但根据我的经验,对于等效页面,它通常具有更轻、更快的感觉。不要忘记通过网络传输非本地连接的 ViewState 的性能,并且浏览器必须在 DOM 中处理,等等。并非所有性能项都在 ASP.NET 管道中。
-
没有。影响 Web 应用程序性能的因素有很多。您可以编写糟糕的 MVC 代码,也许不像在 WebForms 中那么容易,但它仍然是可能的。最重要的是,充分了解 Web 应用程序管道和性能瓶颈(与任何框架无关)是关键。
标签: asp.net .net asp.net-mvc asp.net-mvc-3 asp.net-4.0