40条ASP.NET开发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通常产生一个较小体积的文件。(当然,有些浏览器不支持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取个简短的名字。

时间: 2024-07-30 06:07:20

40条ASP.NET开发Tip的相关文章

艾伟_转载:40条ASP.NET开发Tip

1.在compilation 下,请设置debug=false ,如下: default Language="c#" debug="false"> 2.请使用Server.Transfer代替Response.Redirect. 3.使用Validator控件,请要经常检查Page.IsValid. 4.请使用foreach循环,而不是为字符串迭代循环. 5.请使用客户端验证方式(不要每次都在服务端验证). 6.为了避免重复代码执行,请检查"Page

一起谈.NET技术,40条ASP.NET开发Tip

1.在compilation 下,请设置debug=false ,如下: default Language="c#" debug="false"> 2.请使用Server.Transfer代替Response.Redirect. 3.使用Validator控件,请要经常检查Page.IsValid. 4.请使用foreach循环,而不是为字符串迭代循环. 5.请使用客户端验证方式(不要每次都在服务端验证). 6.为了避免重复代码执行,请检查"Page

分享40条Android开发的优化建议_Android

以下是开始Android编程的好方法:         1.找一些与你想开发的功能类似的代码:         2.调整它,尝试让它变成你想要的:         3.回顾开发中遇到的问题         4.使用StackOverflow来解决遇到的问题 对每个你想实现的东西重复上述过程.采用这种方法能够激励你,因为你在保持不断迭代更新,在这个过程里面你会学到很多.当然,当你发布应用的时候你还要去做一些更深入的东西. 从一些能够正常编译的代码到成为一个应用程序,这是一个质的飞跃,比起iOS,A

利用ASP技术开发基于WWW的数据库检索程序

程序|数据|数据库  ASP是微软公司推出的用以取代CGI的新技术,是目前公认的建立Windows NT动态站点最好的工具.它与ADO(Active Data Object,一种新的数据访问模型)的充分结合,提供了强大的数据库访问功能,使之成为进行网上数据库管理的重要手段.     一.ASP简介   ASP内含于Internet Information Server(简称IIS3.0)中,扩展名以.asp表示.ASP文件可以用常规的文本编辑器编辑,也可以利用专门的辅助开发工具InterDev进

ASP.NET开发员工业绩评测中心

asp.net 摘要:本文介绍使用Asp.net开发一个软件公司内部员工业绩评测系统,包括后台所有员工信息管理,部门信息管理,所有部门评测细则信息管理:前台员工每月自我评测和主管对员工的评测.重点介绍数据库设计,以及重要Web服务端和页面控件的使用.笔者相信本文会对读者的数据库设计和使用Asp.net开发页面技术有很好的启发和帮助. 一. 系统体系结构 Visual Studio .NET 是微软公司迄今为止推出的最强大的,完整的开发工具,用于生成 Asp Web 应用程序.XML Web se

asp.net开发微信公众平台之获取用户消息并处理

  这篇文章主要介绍了asp.net开发微信公众平台之获取用户消息并处理的相关资料,需要的朋友可以参考下 获取用户消息 用户发送的消息是在微信服务器发送的一个HTTP POST请求中包含的,获取用户发送的消息要从POST请求的数据流中获取 微信服务器推送消息到服务器的HTTP请求报文示例 POST /cgi-bin/wxpush? msg_signature=477715d11cdb4164915debcba66cb864d751f3e6×tamp=1409659813&nonce=137262

asp.net开发微信公众平台之验证消息的真实性

  这篇文章主要介绍了asp.net开发微信公众平台之验证消息的真实性的相关资料,需要的朋友可以参考下 验证消息的真实性 在MVC Controller所在项目中添加过滤器,在过滤器中重写 public override void OnActionExecuting(ActionExecutingContext filterContext)方法 新建数据模型 注:服务器接收消息时,不再是signature而是msg_signature 微信服务器推送消息到服务器的HTTP请求报文示例 POST

asp.net开发类似于qq空间中我的动态,好友动态 的数据库设计

问题描述 asp.net开发类似于qq空间中我的动态,好友动态的数据库设计,比如好友动态中,有好友发表了心情,日志,分享了某某日志,照片,转载了某某日志,心情,相片,好友与某某成为好友关系,好友参加某某活动等 解决方案 解决方案二:该回复于2011-11-07 10:22:51被版主删除解决方案三:首先用户产生了动态,放到动态表feed里,里面有动态的产生者,动态的内容,动态的APPID等.同时,把这条动态的ID放入队列queue里,也就是我们常说的消息队列,队列可以是memory表,可以是me

我的Android进阶之旅------&amp;gt;对Android开发者有益的40条优化建议

下面是开始Android编程的好方法:  找一些与你想做事情类似的代码  调整它,尝试让它做你像做的事情  经历问题  使用StackOverflow解决问题 对每个你像添加的特征重复上述过程.这种方法能够激励你,因为你在保持不断迭代,不经意中你学到了很多.然而,当你发布应用时你还要做一些更深入的事情. 从一些可正常工作的代码到一个可怕的应用程序是一个巨大的跳跃,相比iOS平台Android更是如此 .当在iOS上发布应用时只是在一个设备上跳跃–你的手机–对很多设备而言都很相似–同样大小的屏幕,