正常访问状态! 设为首页 | 加入收藏夹 | 浏览历史  
  http://www.guosp.com
 碧海澜涛居
  海纳百川,有容乃大。壁立千刃,无欲则刚!
 
 
关键词:
  网站首页 | 关于本站 | 技术资料 | 美文日志 | 读书收藏 | 影视收藏 | 软件收藏 | 摄影相册| 留言板 
  技术资料 >> ASP.Net资料库 关闭(快捷键alt+C)
搜索标签: 暂无标签
减少ASP.NET运行时的工作
[阅读次数:796次]  [发布时间:2011年7月9日]
在底层,.NET和ASP.NET基础结构为了让开发的工作更轻松,做了大量的基础工作。虽然这个体系结构作为一个黑盒很不错,但有时了解一切如故无缝地运行的实现细节也是很有益的,可以有效地使用运行时获得性能上的优势。

1、视图状态的优化

可以从不同的粒度控制网站的视图状态:在web.config设置EnableViewState为false禁用所有页面的ViewState,Page的EnableViewState属性继承web.config的设置,如果要在单独的页面可以设置EnableViewState。另外可以单独设置控件的EnableViewState。

web.config: <pages enableViewState="false"/>
page:<%@ Page Language="C#" CodeBehind="Default.aspx.cs" Inherits="Default" EnableViewState="false"%>
控件:<asp:Label ID="lbInfo" runat="server" EnableViewState="false" />

2、尽量减少服务器控件的数量

页面上服务器端的控件应该保持最低的数量上,服务器端的控件不仅生成视图状态,它们也需要额外的运行时处理来绑定到成员变量,呈现,然后卸载。能不用服务器控件的尽量不用。

3、会话状态的考虑

在创建一个Web应用程序是一个重大的问题就是页面请求直接维护状态,因为http请求时无状态的。例如,知道客户在购物车中放置了什么产品。有很多机制可以配合使用以取得状态的持久性:cookies,视图状态、QueryString,Session。

ASP.NET提供三种不同的会话状态提供者(In-Proc、状态服务器、数据库),极大地提高了会话功能。进程间会话状态提供者是这三者中最快的,状态服务器虽然不如进程间的快,但可以在多个服务器器直接共享会话状态。数据库存储时最健壮的但最慢。

无论使用哪种会话状态提供者,都不要滥用会话功能,存储大量的数据或对象,“大量”的定义将取决于需要支持的用户的数量和应用程序的硬件。如果在有些页面不使用Session可以禁用页面的Session,设置EnableSessionState为False,也可以稍稍减少页面出来的开销。

4、把异常减到最少

异常是通知程序执行期间发生的错误的一个非常有用的机制。和返回代码不同,程序不能忽略异常——它们将会改变程序的执行流。在性能和内存都很关键的应用程序中经常避开以免额外的开销。在.NET运行时的托管环境中,用try和catch设置异常处理代码只对性能有可以忽略不计的影响,但如果有抛出异常性能的损失就比较大。

5、使用早期绑定

前期绑定是在编译的时候就确定了要绑定的数据,前期绑定如果失败,会在编译时报编译错误,可以避免在运行时编译错误。而后期绑定是在运行的时候才填充数据,后期绑定失败只有在运行时的时候才发生。





本页地址: [复制地址]
该页内容非本站原创 收藏自:http://www.th7.cn/Article/bc/nt/201005/381184.html
返回顶部 关闭(快捷键alt+C)
评论统计(0条)| 我要评论
暂无评论内容!
我要评论 
我要评论: 带*部分需要填写
 姓名称呼: * 请填写您的姓名或呢称
联系方式: QQ,MSN,Email都可以,方便交流 (仅管理员可见)
 评论内容: * 不超过100字符,50汉字
验证码:
    
  推荐链接
·.net教程:反编译工具Reflec...
·图片上传插件CKEditor 和 C...
·ASP.NET程序中出现 "当前上...
·C#读取Excel遇到无法读取的...
·.Net中cookie的使用
·从HTML文件向Aspx文件传递参...
· 在VS2005下使用Webdiyer:A...
·ASP.NET之Web打印-终极解决...
·使用AspNetPager与GridView...
·asp.net下将页面内容导入到...
  最近更新  
·Host 'XXX' is not allowed...
·Win2008或IIS7的文件上传大...
·IIS7.0上传文件限制的解决方...
·测试信息2015-03-11
·asp.net中处理图片
·ASP.NET之Web打印-终极解决...
·Asp.net下C#调用Word模版实...
·asp.net下将页面内容导入到...
·asp.net导出为pdf文件
·asp.net生成pdf文件
·FCKeditor 文本编辑器的使用...
·ASP.NET 将数据生成PDF
·asp.net2.0导出pdf文件完美...
·AspJpeg的安装与测试
·JS验证浏览器版本对IE11的支...
  热门浏览  
·IE8和IE9出现“此网页上的问...
·无线路由器密码破解,教你断...
·js替换所有回车换行符
·QQ/MSN在线交流代码
·如何取消键盘上的一些快捷键...
·IE弹出“中国工商银行防钓鱼...
·win7声音小的解决方法
·webdav漏洞的利用
·强制两端对齐的函数或者CSS...
·win7下成功安装sql server ...
·显示器分辨率调的过高导致电...
·天诺时空技术技术论坛
·js验证手机号码格式
·JS展开和收缩效果(二)
·本地计算机上的 MSSQLSERVE...
  碧海澜涛居
网站首页关于本站站长简介开发案例技术资料美文日志摄影相册读书收藏影视收藏留言板
版权所有:碧海澜涛 QQ:410436434 Email:shaopo_guo@163.com 苏ICP备15000526号
免责声明:本站为个人网站,站内所有文字、图片等各类资料均为个人兴趣爱好所收集,不用作任何商业用途,亦不保证资料的真实性,若有因浏览本站内容而导致的各类纠纷,本站也不承担任何责任。本站部分内容来自互联网,如有涉及到您的权益或隐私请联系站长解决。