欢迎您! | 积分 | 主页 |
注册 | 登陆 |
官方QQ群: 8807551

ASP.NET开发40条贴士Tip

发布日期:2010-01-16 13:09:36.0 发布讲师:don 浏览量:216
课程类别:IT电脑开发
学习标签: asp.net .NET TIP web
免费在线正则表达式验证工具! 免费在线HTML/JS/CSS调试工具!


点击放大图片-ASP.NET开发40条贴士Tip

欢迎拍砖

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 通常产生一个较小的文件。

 

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 %>

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、页面输出缓存:

<%@ OutputCache Duration="3600" VaryByParam="none" %>

ii、页片段缓存:

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

iii、数据缓存:

代码
<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 (
"<h2>Loaded employees from data cache! </h2>");  
 lb1.DataSource 
= dv;  
 lb1.DataTextField 
= "Name";    
 lb1.DataValueField 
= "Age";   
 DataBind () ;
}   
</script> 

 

33、服务器端使用诸如Port80s压缩软件http://www.port80software.com/products/httpzip/[^]

 

34、使用了“using”。

 

35、不要声明的成员变量为 public 或者proteted,尽量使用private 成员变量和public/protected 属性。

 

36、使用strString=string.Empty 代替 strString=""

 

37、请尽可能减轻你的页面文件,尽量避免不必要的标签,例如使用div代替table

 

38、在div中写静态的消息,必要的时候才显示出来。这比你设置服务端的label和div的text属性快。

 

39、如果可能的话,一次性检索数据库中的数据。尽可能不要添加数据库的访问。因此,整合来自不同表datafields和选择它们。

 

40、给WebControl取个简短的名字。

 

作者:朱祁林


验证码:验证码

网店名字Don的知识网店
网店店主don
相关课程(共8个):
讲师:don 浏览数:18
2010-07-29 09:32:22.
讲师:don 浏览数:24
2010-07-26 09:50:37.
讲师:don 浏览数:18
2010-07-25 15:12:31.
讲师:don 浏览数:47
2010-07-24 11:24:20.
讲师:don 浏览数:42
2010-07-24 00:36:47.
讲师:don 浏览数:32
2010-07-23 13:01:08.
讲师:don 浏览数:26
2010-07-19 19:14:00.
讲师:don 浏览数:79
2010-07-16 09:40:25.



©2008 - 沪ICP备07037037号 - 简历 - SQL管理 - 邮箱登陆 - RSS阅读