ASP.NET应用程序性能的优化
来源:互联网 发布:快批软件 编辑:程序博客网 时间:2024/05/24 01:46
网站的性能对于ASP.NET程序开发人员来说非常重要。一个优秀的网站虽然有美观的页面设计,完善的服务功能,但是打开网页时有长时间的延迟,用户最终将会无法忍受。尤其对于大型的电子商务网站而言,每秒钟有数万用户同时访问,没有良好的网站性能,根本无法满足庞大的需求。
ASP.NET作为全新一代的动态网页生成系统,它在平台性能方面与原有的ASP相比已有了一个本质的提高。但要在此基础上开发出专业水准的、符合生产标准的、受用户欢迎的web应用程序,还需要开发人员从编程的角度在页面、数据访问和字符串处理等各方面进行优化处理,以提高网站的总体性能。
本文将主要探讨在ASP.NET中与此相关的几种进行性能优化的方法及注意问题。
页面性能优化
1、会话状态的恰当选择
HTTP协议是一种无状态的通信协议,无法记录和识别来自不同客户端的请求,但在实际应用中系统却要维护来自客户端的不同请求之间的会话状态信息。ASP.NET通过将会话状态信息存储在进程、状态服务器或SQL Server数据库中来解决这个问题。
将会话状态信息保存在WEB服务器的内存中具有最佳的性能,速度很快,但是却缺乏会话状态信息跨越多个服务器的能力。若要在多个WEB服务器之间维护会话信息,可以使用状态服务器进行存储,这种方式由于可以将应用程序部署到多台服务器上而提高了系统的伸缩性和可靠性,但是以降低性能为代价。对于极其重要的会话信息,需要使用SQL Server存储方式,从而避免丢失重要的会话信息,但由此产生的工作负载比前两者大得多。
若不考虑状态信息的保留和多个服务器共享,应尽量选择保存在服务器的进程中,从而得到最佳的性能。
会话状态信息的存储方式选择通过web.config文件:
<sessionState
mode="InProc/StateServer/SqlServer" //存储方式由此行选择
stateConnectionString="tcpip=127.0.0.1:42424"
……
timeout="20"/>
2、服务器控件的优化选择
2.1 减少不必要的服务器控件
服务器控件带来的方便和功能是html控件所不能比拟的。但是每一个服务器控件都需要在服务器端创建相应的对象,是以牺牲服务器端的资源为代价的,过多的使用服务器控件会极大的影响程序性能。
很多情况下,简单地使用html标记或数据绑定即能够实现所需功能。比如<asp:Label>控件,若使用它来显示静态信息,则完全可用简单的标记来实现。如果html控件达不到所要实现的功能,而且在脚本语言如javascript、vbscript也不能实现的情况下,才考虑选择服务器控件。
2.2 禁用不必要的状态视图
服务器控件的状态视图属性能够自动的在页面往返过程中维护服务器控件的状态,减少开发者的工作量,但是需要占用大量的服务器内存资源。因此,在不需要服务器控件状态视图的情况下,应将其EnableViewState属性设置为false,如常用的<asp:Lable>和<asp:Button>控件。
- ASP.NET应用程序性能的优化
- ASP.NET 应用程序性能优化
- ASP.NET 应用程序性能优化
- ASP.NET 应用程序性能优化
- ASP.NET 应用程序性能优化
- ASP.NET 应用程序性能优化
- ASP.NET 应用程序性能优化
- ASP.NET 应用程序性能优化
- ASP.NET 应用程序性能优化
- ASP.NET 应用程序性能优化
- ASP.NET 应用程序性能优化
- ASP.NET 应用程序性能优化
- ASP.NET 应用程序性能优化
- ASP.NET 应用程序性能优化
- ASP.NET 应用程序性能优化
- ASP.NET 应用程序性能优化
- ASP.NET 应用程序性能优化
- ASP.NET 应用程序性能优化
- 97年世界编程大赛一等奖作品
- HTML格式的语法高亮类库代码,内置对C, C++, VBScript, JScript, xml的支持,可扩展,自己添加语法定义。
- [转载]搜索算法(含基本搜索算法与深度搜索与广度搜索算法等思想)
- [转载]二分查找
- 建站日志一----用着dreamweaver发现的几件事
- ASP.NET应用程序性能的优化
- [转载]一些常用的排序(查找)算法
- 美女的程序
- 第一个留言板
- c#创建windows service示例以及在asp.net中如何控制windows service
- 帧中继工作原理
- Fedora 9 预览版今天发布
- ASP.NET 文件下载
- 开张了!