当前位置:编程学习 > asp >>

40条有用的ASP.NET开发技巧

1、在compilation 下,请设置debug=false ,如下:

<!–

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

–>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、除非需要,否则请关闭跟踪。

<!–

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

–><trace enabled=”false” requestLimit=”10″ pageOutput=”false” traceMode=
“SortByTime” localOnly=”true”/>

 

10、编译页面,请禁用AutoEventWireup。在Machine.config文件中请设置AutoEventWireup为false。

11、如果不需要,请关闭Session会话。

<!–

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

–><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 。

<!–

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

–>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有效,能提高性能,如:

<!–

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

–><% response.buffer=true %>

 接着使用:

<!–

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

–><% response.flush=true %>

26、使用Repeater控件代替DataGrid,DataList,因为它是高效的,可定制的,和可编程的。

27、在数据库中检索大量数据,数据列表消耗更多的时间。

    分页将显示特定的数据,但是要考虑所有数据负载。只取当前页需要的数据。

28、避免内嵌JavaScript和CSS。

29、使用单个的css文件,而不是多个css文件。

    请尽量将您所有的css合并成一个css的类文件,不管文件大小,大量的.css文件会造成大量的请求。.css文件通常是由浏览器缓存,这样一个单一的沉重的.css文件不会导致在每个页面请求时会有漫长的等待。

    内嵌.CSS类导致HTML沉重,因此我觉得:首先考虑一个single.css文件。

30、减少cookie的大小。

31、压缩CSS, JavaScript 和Images。

可以使用在线的压缩,压缩文件,将下列网页和优化的代码替换为您的文件内容。

http://iceyboard.no-ip.org/projects/css_compressor[^]  CSS 压缩
www.xtreeme.com/javascript-optimizer/[^] .  JS 压缩

32、适当地使用缓存。

i、页面输出缓存:

<!–

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

–><%@ OutputCache Duration=”3600″ VaryByParam=”none” %>

ii、页片段缓存:

在每个用户控件中写页面输出缓存

iii、数据缓存:

代码

<!–

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

–><script language=”C#” runat=”server”>
 Protected void Page_Load (Object src, EventArgs e)
{  
 DataView dv = (DataView) Cache. Get (“EmployeesDataView”);  
 If (dv == null)
 { // wasn’t there
  SqlConnection conn =    new SqlConnection (“server=localhost;uid=sa;pwd=;database=Test”); 
  SqlDataAdapter da =new SqlDataAdapter (“select * from Employees”, conn); 
  Dataset ds = new DataSet();
  da.Fill(ds, ”Employees”);  
  dv = ds.Tables["Employees"].DefaultView;  
  Cache.Insert (“EmployeesDataView”, dv);
  conn.Close();
}  
 Else  
 Response.Write (”

Loaded employees from data cache!
“); 
 lb1.DataSource = dv; 
 lb1.DataTextField = ”Name”;   
 lb1.DataValueField = ”Age”;  
 DataBind () ;
}  
<!–script>

补充:Web开发 , ASP.Net ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,