All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
php如何判断来访网页地址_[PHP教程]
滑动展开/收缩广告代码实例效果_JavaScript技术_编程技术
Microsoft,.NET,Framework,的版本_.net资料_编程技术
精通数据库系列之入门-技巧篇5_mssql学习_编程技术
SQL Server得到表记录总数另类方法_[SQL Server教程]
asp.net2.0母版页与内容页的创建
用PHP对GB编码到UTF-8编码的动态转换_php资料_编程技术
ASP.net2.0统计图表_[Asp.Net教程]
Silverlight,2,(beta1)数据操作(4)——调用WCF进行数据CRUD操作_[Asp.Net教程]
ASP.NET,2.0高级数据处理之处理控件事件_.net资料_编程技术
Reading number is top 10 pictures
Household design of gorgeous series
这还能睡得着?
Beauty ZhiHuiLin1
Poor doll, hand job was caught the currently in effect by his dad
这才是真正的人体艺术2
Athena chu perspective cheongsam shine with New York
Angie Chiu vijara myth1
Nikon microscopic photography of the first three
某某人向找小三的人宣战了
人物写真-谢楠
Download software ranking
Tram sex maniac 2 (H) rar bag6
jdk1.6 for windows
Ashlynn Video2
The Bermuda triangle2
dreamweaver8中文版
C#程序员参考手册
Sora aoi 120 minutes
超级战舰
WebService在.NET中的实战应用教学视频 → 第5集
jdk1.5
delv published in(发表于) 2014/1/6 9:12:12 Edit(编辑)
实现ASP.NET程序性能目标的几种方法_[Asp.Net教程]

实现ASP.NET程序性能目标的几种方法_[Asp.Net教程]

实现ASP.NET程序性能目标的几种方法_[Asp.Net教程]

第一次在这里写BLOG,希望不要被大家取笑!

一. 调整程序代码


1.避免多次读取相同数据


在循环语句中不要包含无端重复执行的代码,如:


while ( dr.read())
{
if(dr.item["lastname"]==Request.params[“lastname“])
return true;
else
return false;
}


在上面循环中,对于DataReader返回的每条记录都要对Request.params[“lastname“]进行一次求值,假如dr返回100条记录,我们就对Request.params[“lastname“]求值了100次 ,而这100次有99次都是多余的,下面的代码相对效率就高些


string strlastname=Request.params[“lastname“];
while ( dr.read())
{
if(dr.item["lastname"]==strlastname)
return true;
else
return false;
}


总结:从任何类型的集合中读取值都比较慢,我们需要多次访问它时,可以先在局部变量中保存一个副本

2.对连接字符串使用Response.Write();


连接字符串是一个很费资源的操作,我们要把一个10字节的字符与一个30字节的字符连接起来,代码必须分配一个40字节的内存区域,复制所有字节到这块区域,然后在调整指针位置指到这块区域,在释放原来资源而Response.Write()方法提供了高效的缓冲和连接服务,所以一般情况下以下代码


Response.Write(“HeadLine=“);
Response.Write(“strHeadLine“);
Response.Write(“,Descreption=“);
Response.Write(dr.item[“Descreption“]);


比下列代码


Response.Write(“HeadLine=“)&_
StrHeadLine&_
“,Descreption=“&_
dr.item[“Descreption“];


效率要高


总结:尽量用Response.Write()和StringBuilder来连接字符串


3.避免频繁调用COM组件转为托管代码.


4.避免改变数组维数


在程序中动态改变数组维数其实是用请求大小创建一个新的数组,拷贝原来数组中内容到里面,然后删除原来数组,并用新数组代替旧数组地址,这就耗费了很大力气


5.不要过分依赖于代码中的异常检查


异常处理是很消耗资源的操作,对于普通代码能检测到情况,就应尽少使用异常处理



try
{
int a,b;
a=100/b;
}
catch
{
b=0;
}


就不如用以下代码效率高


if(b==0)
{
error();
}


效率高


总结:应尽少量的使用异常处理机制


6。应该实现尽早绑定防止后期绑定,做法为在WEB页的@Page指令中加入O ption=“Strict”这一选项可以防止在数据转换时都是数据


二。调整ASP.NET的使用


1.禁用调试和跟踪模式


在部署产品级应用程序时,用这两个模式会显著降低性能


2.预先在Application 对象中载入数据


把一些频繁使用的又相对静止的数据通过一次性读取数据载入Application 中可以提高程序的性能 Application对象一旦建立九一直保存在内存中,直至程序结束,对于WEBl来说就是服务器关闭,但把几Mbyte的数据存在Application中不是什么好的选择了


3.用Page.IsPostBack来避免不必要的处理


在实际表单提交时没有必要运行初始化代码,ViewState机制会保存我们任何表单的初始化元素


4. 适当使用服务器控件


在控件标记中加runat=server会增加web服务器的负担.除非有必要处理控件的属性,在服务器处理控件的事件时候就不要为标记加此属性


5.在必要的时候使用ViewState


viewstate包含的控件越多,服务器负担就愈大,利用viewstate还可能惹出麻烦,例如一个显示错误信息的label控件,我们希望不要在每一个页面上都重复该消息要清除某一控件的VIewstate 属性可以将其EnableViewSate属性设置为false.


6.在没有使用会话的页面中禁止用Session


7.尽可能的缓存数据和页面输出


Cache可以大幅度提高性能,我们可以在页面中编写OutputCache指令


8.避免对服务器进行不必的数据往返传输


可以利用验证控件来减少不必要的往返数据传输,后面的比较仓促,老婆催着睡觉,再不睡估计要.....,呵呵.


来源:gaoshou





添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.