asp.net解析及提高性能之技巧
时间:2011-03-03 来源:双魂人生
其次,现在asp.net都实现了代码后置,代替了以前在页面中<script></script>写代码的方式,这样的好处就是避免每次都编译,减少了性能损耗,大大的提高了效率
然后,就是尽量避免回传,在代码中我们会用到page.ispostback来避免表单的回传,我们希望尽量不引起回送(每次回送都会要求服务器进行一系列的操作),即使引起回送后。也希望能够执行尽量少的操作。大规模、浪费时间的操作(例如数据库查找)尤其应当避免,因为它们能够延长应用程序的响应时间。
使用StringBuilder类
字符串在.NET框架中是不可变的,这意味着改变字符串的操作符和方法会返回字符串的改变后的拷贝,这意味着性能还有提高的空间。当进行大量的字符串操作时,使用StringBuilder类就是一种比较好的选择了。
使用StringBuilder类的Append方法的速度比使用字符串连接的速度快近200倍
最后,只在必要时使用服务器端控件ASP.NET中新引入了一种在服务器端运行的被称作Web Server Controls的控件,在代码中,它们经常通过下面的语法被说明:
<asp:TextBox id="txtLastName" size="40" runat="server" />
它们有时也被称作ASP控件。服务器端控件是由runat属性指示的,它的值总是“server”。
通过添加runat属性,一般的HTML控件可以被很方便地转换到服务器端运行,下面是一个简单的例子:
<input type="text" id="txtLastName" size="40" runat="server" />
可以通过id属性中指定的名字,我们可以引用程序中的控件,可以通过编程的方式设置属性和获得值,因此,服务器端处理方式有较大的灵活性。
这种灵活性是有一定代价的。每种服务器端控件都会消耗服务器上的资源。另外,除非控件、网页或应用程序明确地禁止view state,控件的状态是包含在view state的隐藏域中,并在每次回送中都会被传递,这会引起严重的性能下降