不是一名.net开发人员
你是否是一名.net开发人员?假如你担心,我们拥有类似Ruby,PHP以及其他开发人员的职位。如果你是一名.net开发人员,那听一下吧!
为获得大量收益而准备
当你开发你的应用程序的时候,有些东西你应该考虑清楚 。我已经为ASP和ASP.NET工作超过12年了,得知避免以及大量地采取改善你应用程序效率的措施!以下是我的改善ASP.NET应用程序执行效率的20种贴士。
1.禁用Session State
如果你不打算使用它,那禁用Session State吧。它是以缺省的方式打开着的,你其实可以为指定的页面关掉它,而不是所有的页面:
<%@ Page language="c#" Codebehind="WebForm1.aspx.cs"
AutoEventWireup="false" Inherits="WebApplication1.WebForm1"
EnableSessionState="false" %>
你也可以在web.config文件中设置<sessionState>模式值为off来禁用它跨应用程序。
2.输出缓冲
利用这一大特点,基本上成批处理你所有的在服务器上的工作,然后运行Response.Flush方法来输出数据。这样做避免放出来回与服务器交互。
<%response.buffer=true%>
然后使用:
<%response.flush=true%>
3.避免服务器端校验
尝试使用客户端校验来代替服务器端校验。服务器端校验会消耗你服务器有价值的资源,并且导致更多频繁来回交互。
4.Repeater Control好用,DataList,DataGrid以及DataView不好用
ASP.NET是一个很大的平台,不幸的是被开发出来的许多控件含有大量的html标签,并且从一个角度表面来看,没有创造最大的html扩展。ASP.NET Repeater控件是令人震撼的!使用它!你可以书写更多的代码,而在长时间的运行当中你会感谢我!
5.在你执行大操作之前利用好HttpResponse.IsClientConnected :
if (Response.IsClientConnected)
{
// If still connected, redirect
// to another page.
Response.Redirect("Page2CS.aspx", false);
}
Response.Redirect有什么错误吗?继续读下去......
6.使用HttpServerUtility.Transfer来代替Response.Redirect
重定向的也很放出, 它们应该只用于当你转移人们到另外一台物理网络服务器。任何转移自己的服务器,使用。转移!你会节省大量无需要的Http请求。
7.当使用验证控件的时候经常检查Page.IsValid
因此你放置了一些验证控件,并且你认为按你所愿去运行,因为ASP.NET为你做了一切!对?错误!这一切,如果不良的数据被接收是IsValid标志设置为false。因此当你处理表单之前,确保你检查Page.IsValid。
8.通过发布编译来部署
当你部署部署你的站点,确保你使用发布编译模式和没有调试编译。如果你认为没有关系,再想一次。通过运行调试模式,你临时创造,并且摇晃到超时。部署发布模式,你会感受到速度的改善。
9.关闭跟踪
Tracing是令人震撼的,然而你记得关闭吗?如果没有的话,确保你编辑web.config来关闭它,它会添加很多开销到你的应用程序,而它(应用程序)在生产环境中是不需要的。
<configuration>
<system.web>
<trace enabled="false" pageOutput="false" />
<trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true"/>
<compilation debug="false" />
</system.web>
</configuration>
10.Page.IsPostBack 是你的朋友
请务必不要执行无需要的代码。我不知道很多web开发人员忘记关于检查IsPostBack。它对于我来讲看起来似乎是一件基本的事情!无需处理!
Go On...请继续关注!
翻译文章地址:http://www.realsoftwaredevelopment.com/2007/08/20-tips-to-impr.html
翻译不好,请见谅!
评论