现在有很多关于ASP.NET MVC的炒作,但事实是,ASP.NET webforms已经有一段时间没有了.有没有办法让当前开发人员优化ASP.NET webforms以执行与ASP.NET MVC一样快的速度?
我注意到ASP.NET MVC和ASP.NET webforms之间的速度存在显着差异. MVC非常快捷,加载页面的速度比webforms快.我可以通过优化它来实现与ASP.NET webforms相同的功能吗?如果是的话,你会推荐什么?
解决方法
在您的页面指令中执行以下操作:
<%@ 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的用途(例如,节省时间或简化事情)我逐个打开它,所以我理解为什么我使用它并做出一个明确的决定将开销添加到我的页面.
如果你在考虑性能的情况下接近你的网络应用程序,WebForms可以和MVC一样快,但是如果你想忽略性能并且只是完成应用程序,那么很容易让它慢得多.