40条ASP.NET开发准则
1、在compilation 下,请设置debug=false ,如下:
default Language="c#" debug="false">
2、请使用Server.Transfer代替Response.Redirect。
3、使用Validator控件,请要经常检查Page.IsValid。
4、请使用foreach循环,而不是为字符串迭代循环。
5、请使用客户端验证方式(不要每次都在服务端验证)。
6、为了避免重复代码执行,请检查“Page.IsPostBack”。
7、GIF 和PNG类似,但是PNG通常产生一个较小体积的文件。(当然,有些浏览器不支持PNG格式)
8、更新二进制文件时,请使用AppOffline.htm 。
9、除非需要,否则请关闭跟踪。
<trace enabled="false" requestLimit="10" pageOutput="false" traceMode=
"SortByTime" localOnly="true"/>
10、编译页面,请禁用AutoEventWireup。在Machine.config文件中请设置AutoEventWireup为false。
11、如果不需要,请关闭Session会话。
<sessionstate timeout="20" cookieless="false" mode="Off" stateconnectionstring
="tcpip=127.0.0.1:42424" sqlconnectionstring="data source=127.0.0.1;Trusted_Connection=no">
12、在你生成最终版本的应用程序之前,请选择Release模式。默认是Debug。
13、如果不需要请禁用ViewState 。
EnableViewState="false"
14、请避免频繁的访问数据库。
15、使用缓存提高你的应用程序的性能。
16、验证所有的用户输入。
17、请最后释放所有资源。
18、String 和Stringbuilder。
修改字符串时,使用Stringbuilder而不是String ,在每次字符串修改的时候,String都会占据不同的内存空间,而Stringbuilder只使用同一个内存空间
19、切勿直接使用对象的值,先从本地变量获取对象的值,然后再使用。因为直接读取对象的值比读取变量更花时间。
20、避免异常:使用if。
21、代码优化:避免使用:x = x +1,而是使用x+=1比较好。
22、数据访问技术:DataReaders提供快速有效的数据检索方法。在性能方面,DataReader是速度远远超过DataSets 。
23、在做一个笨重的ASP代码的处理之前,你进行检查以确保Response.IsClientConnected。
24、避免session变量,因为每个ASP页面是在不同的线程运行和session调用将会被逐一序列化。这样会降低应用程序。你可以使用QueryString集合或者表单上面的hidden变量来保存值。
25、使buffer有效,能提高性能,如:
<% response.buffer=true %>
接着使用:
<% response.flush=true
相关文档:
本文示例源代码或素材下载
一.摘要
一个Url请求经过了Routing处理后会调用Controller的Action方法. 中间的过程是怎样的? Action方法中返回ActionResult对象后,如何到达View的? 本文将讲解Controller的基本用法, 深入分析Controller的运行机制, 并且提供了创建所有类型Action的代码. 值得学习ASP.NET MVC时参考.
......
ASP.NET 页运行时,此页将经历一个生命周期,在生命周期中将执行一系列处理步骤。这些步骤包括初始化、实例化控件、还原和维护状态、运行事件处理程序代码以及进行呈现。了解页生命周期非常重要,因为这样做您就能在生命周期的合适阶段编写代码,以达到预期效果。此外,如果您要开发自定义控件,就必须熟悉页生命周期,以 ......
本主题介绍在 IIS 7.0 集成模式下运行以及与 IIS 7.0 或更高版本一起运行的 ASP.NET 应用程序的应用程序生命周期。IIS 7.0 还支持经典模式,其行为类似于在 IIS 6.0 中运行的 ASP.NET。有关更多信息,请参见 IIS 5.0 和 6.0 的 ASP.NET 应用程序生命周期概述。
IIS 7.0 集成管道是一种统一的请求处理管道,它同时支 ......
今天突然遇到这个问题了!不过刷新页面后错误就没有! 而且之前也没有这个错误哦! ... 不过我还是去Google了一下答案!
Thread was being aborted :中文意思 线程被终止
引用地址:http://support.microsoft.com/default.aspx/kb/312629/EN-US/?p=1
原因:
那个 Response.End 方法结束页的执行,并转移到执行 的Applic ......