asp.net - 是否可以优化ASP.NET WebForms以使其执行速度与ASP.NET MVC一样快?

标签 asp.net asp.net-mvc performance optimization webforms

如今,有关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/

相关文章:

java - 使用java将数据从mysql数据库复制到其他mysql数据库

c# - Asp.net 获取 JQuery session

jquery - JQGrid - 无法使用参数向网格添加行

asp.net-mvc - 从 MVC 区域的 _Layout.cshtml 添加数据到公共(public) _Layout.cshtml

performance - 我需要解决NP难题。有希望吗?

Java HashMap 性能优化/替代

c# - 在 WCF 服务中使用 NetworkCredential

asp.net - 在没有 ViewState ASP.Net 的情况下获取当前页面的 HTML

css - 在折叠导航栏时隐藏的导航栏中显示图像

c# - 停止 Razor 循环