Asp.net 开发 Tips
来源:互联网 发布:广州房价 知乎 编辑:程序博客网 时间:2024/06/11 09:52
1、在compilation 下,请设置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、除非需要,否则请关闭跟踪。
10、编译页面,请禁用AutoEventWireup。在Machine.config文件中请设置AutoEventWireup为false。
11、如果不需要,请关闭Session会话。
12、在你生成最终版本的应用程序之前,请选择Release模式。默认是Debug。
13、如果不需要请禁用ViewState 。
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变量来保存值。
接着使用:
26、使用Repeater控件代替DataGrid,DataList,因为它是高效的,可定制的,和可编程的。
27、在数据库中检索大量数据,数据列表消耗更多的时间。
分页将显示特定的数据,但是要考虑所有数据负载。只取当前页需要的数据。
28、避免内嵌JavaScript和CSS。
29、使用单个的css文件,而不是多个css文件。
30、减少cookie的大小。
31、压缩CSS, JavaScript 和Images。
可以使用在线的压缩,压缩文件,将下列网页和优化的代码替换为您的文件内容。
http://iceyboard.no-ip.org/projects/css_compressor[^] CSS 压缩
www.xtreeme.com/javascript-optimizer/[^] . JS 压缩
32、适当地使用缓存。
i、页面输出缓存:
ii、页片段缓存:
在每个用户控件中写页面输出缓存
iii、数据缓存:
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取个简短的名字。
作者:朱祁林
出处:http://zhuqil.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
- Asp.net 开发 Tips
- ASP.NET MVC/C#开发Tips记录。
- ASP.NET学习Tips
- ASP.NET Tips
- ASP.NET Performance Tips
- ASP.NET学习Tips
- 20170517 ASP.NET tips
- Tips for writing ASP.NET composite controls
- ASP.NET小Tips两则
- ASP.NET 2.0 Tips:跨页提交
- asp.net 2.0小TIPS两则
- asp.net 2.0小TIPS两则
- 小TIPS:asp.net 页面中的注释
- File Download Tips for asp.net
- 小TIPS:asp.net 页面中的注释
- asp.net 2.0小TIPS两则
- .net Tips
- ASP.NET Tips: 获取插入记录的ID
- 常见EXCEPTION
- oracle 创建自动增加主键的表
- _T("")和L""
- java.lang.ClassCastException: $Proxy1
- C/C++ 数学库函数(转)
- Asp.net 开发 Tips
- QUnit 入门
- 软件包 javax.servlet 不存在
- 好学若饥、谦卑若愚
- 点滴积累
- one-to-one 映射
- write XML-DOM Parser
- 程序员:开汽车,难道我要知道汽车的原理才能把车开好吗?
- 关于数据库操作