如今,有关ASP.NET MVC的炒作太多了,但事实是,ASP.NET Webform一段时间不会使用任何东西了。当前的开发人员有什么方法可以优化ASP.NET Web窗体以使其执行得与ASP.NET MVC一样快?
我注意到ASP.NET MVC和ASP.NET Web窗体之间的速度存在明显差异。 MVC非常简单,并且加载页面的速度比Webforms更快。我可以通过优化ASP.NET Web表单来达到相同的目的吗?如果是,您会推荐什么?
最佳答案
在您的page指令中执行以下操作:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs"
Inherits="TestApp._Default" EnableViewState="false" %>
主要关闭
ViewState
将弥补页面性能的大部分差异。此外,限制WebForm控件的使用也将使您的HTML变得冗长得多,因为它们倾向于生成非常冗长的HTML。另一方面,这样做几乎就像取消了WebForms的一些主要优点一样。使用
ViewState
进行控件和状态抽象是WebForms在当今如此流行的主要原因。我仍然做很多WebForms开发,也做MVC。既了解它们又有其长处,将有助于您在这两个框架中创建高性能的应用程序。当我创建任何新的WebForms应用程序时,我要做的第一件事是将页面包装在
Panel
中,确保对整个面板禁用ViewState
。在开发过程中,我发现ViewState
有用(例如,节省时间或简化事情),我会逐案打开它,以便理解为什么要使用它,并做出明智的决定,将开销增加到我的页面上。如果您在考虑性能的情况下访问Web应用程序,则WebForms的速度可以与MVC一样快,但是如果您只想忽略性能并完成应用程序,则很容易使其速度变慢。
关于asp.net - 是否可以优化ASP.NET WebForms以使其执行速度与ASP.NET MVC一样快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3239664/