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

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 ("

Loaded employees from data cache!

");  
 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取个简短的名字。

一起谈.NET技术,40条ASP.NET开发Tip相关推荐

  1. 一起谈.NET技术,在ASP.NET MVC3 中利用JSONP跨域登录WEB系统

    在信息系统开发的时,根据相关业务逻辑难免会多系统之间互相登录.一般情况下我们需要在多系统之间使用多个用户名和密码.这样客户就需要在多个系统之间重复登陆.每次登录都需要输入用户名和密码.最近比较流行的就 ...

  2. 一起谈.NET技术,专访微软MVP衣明志:走进ASP.NET MVC 2框架开发

    日前微软已经发布ASP.NET MVC 2框架RC版,究竟这次RC版本的发布对于WEB开发者带来怎样的改变?以及未来ASP.NET MVC 2正式版还会有哪些改进?带着这样的问题,我们51CTO记者彭 ...

  3. 浅谈缓存技术在ASP.NET中的运用

    本篇文章虽不谈架构,但是Cache又是架构中不可或缺的部分,因此,在讲解Cache的同时,将会提及到部分架构知识,关于架构部分,读者可以不用理解,或者直接跳过, 你只需关心Cache即可,具体的架构, ...

  4. 浅谈Hybrid技术的设计与实现【转】

    https://www.cnblogs.com/yexiaochai/p/4921635.html 前言 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 浅谈Hybrid技术 ...

  5. 浅谈Hybrid技术的设计与实现第二弹

    前言 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 浅谈Hybrid技术的设计与实现第三弹--落地篇 接上文:浅谈Hybrid技术的设计与实现(阅读本文前,建议阅读这个先) ...

  6. 智能车浅谈——抗干扰技术软件篇

    文章目录 软件抗干扰技术 数字信号的抗干扰措施 数字输入信号软件抗干扰措施 数字输出信号软件抗干扰措施 数字滤波 算术平均值滤波 中值滤波 滑动平均滤波 归一化 差比和 CPU及程序的抗干扰措施 复位 ...

  7. 再谈P2P技术:网络拓扑结构、核心技术分析

    随着P2P应用的蓬勃发展,作为P2P应用中核心问题的发现技术除了遵循技术本身的逻辑以外,也受到某些技术的发展趋势.需求趋势的深刻影响. P2P协议概述 P2P打破了传统的Client/Server ( ...

  8. (转)浅谈Hybrid技术的设计与实现

    转载地址:https://www.cnblogs.com/yexiaochai/p/4921635.html 前言 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 浅谈Hyb ...

  9. 韦乐平在信息港论坛上谈电信技术发展趋势

    韦乐平在信息港论坛上谈电信技术发展趋势 http://www.sina.com.cn 2006年08月01日 09:34 中国信息产业网-人民邮电报   CNII网讯 被誉为通信信息业界"财 ...

最新文章

  1. hibernate-session中的方法
  2. 12C -- DDL日志
  3. 技术正文 history命令添加时间---测试磁盘写入速度
  4. java转文件编码bom_编码转换:UTF-8 BOM to GBK
  5. Build Tour 2017 中国站北京、上海报名了
  6. [深度学习TF2][RNN-LSTM]文本情感分析包含(数据预处理-训练-预测)
  7. 哈夫曼树编码和译码c语言,C++哈夫曼树编码和译码的实现
  8. SpringBoot - 使用ExecutorService线程池执行异步任务教程(以Runnable任务为例)
  9. Grafana 中存在严重的未授权任意文件读取漏洞,已遭利用
  10. oracle 索引监控
  11. 基于单片机的智能密码锁设计
  12. java adminlte 使用_AdminLTE实现动态菜单
  13. 图书馆系统软件测试计划,图书馆管理系统软件测试计划
  14. 高等数学 极限存在 与 极限不存在
  15. 对文件进行哈夫曼编码压缩与译码的C++实现 以及压缩率计算 ——HIT杨朔
  16. xp如何添加桌面计算机回收站,WinXP如何找到回收站图标?
  17. mysql日期时间相关
  18. MS5182N(AD7682)驱动开发调试总结(一)
  19. intersect的用法简介
  20. 利用Python实现有道翻译的功能

热门文章

  1. python中执行shell命令_python中执行shell命令的几个方法小结-阿里云开发者社区
  2. git原理详解与实操指南_全网最精:学git一套就够了,从入门到原理深度剖析
  3. java后台接收参数_java 后台如何 接收 uploader UploadFileOptions 参数
  4. 右手残疾学计算机学什么专业好,我是右手和右脚残疾 左手和左脚好的 可以学残疾人驾照吗...
  5. java怎么从数据库中查询_java – 从数据库中检索的实体与查询中的情况相同
  6. xftp6无法使用处理
  7. springMvc 乱码问题
  8. 德媒:外景代替了现实 中国人拍婚纱照跑到很远地方
  9. Linux命令速查手册
  10. shell取得文件行数6法