APP下载

Web页面管理信息系统设计的优化

2014-02-02韩富朝

科技致富向导 2014年2期
关键词:管理信息系统优化服务

韩富朝

【摘 要】Web 管理信息系统能有效克服传统管理信息系统的不足,应用越来越广泛。但由于其高度信赖服务端运行和网络传输,影响程序运行效率。开发高性能的 Web 管理信息系统,需要程序从页面优化、状态管理、数据访问等方面进行优化设计。

【关键词】Web 服务;管理信息系统;优化

Web应用程序高度依赖服务器,在大量用户同时访问时容易造成服务器负载过大而延迟响应的情况,再加上互联网固有的时延,很容易形成用户长时间等待响应的情况,影响了用户体验。因此,优化系统性能,缩短响应时间是开发Web管理信息系统时要重点考虑的因素。除了采用高性能的硬件设备、负载均衡、数据库优化等方法外,程序设计的优化也是重要的方面。文中主要讨论基于ASP.NET和SQL Server 的管理信息系统程序设计优化。

1.页面优化

1.1避免不必要的回发

有些情况不必要执行回发,比如,管理信息系统中常见的信息录入,某个输入框只允许输入数字,就可以采用 Javascript等脚本语言在客户端进行格式检查,而不必要回发到服务器进行检查。通常,如果不需要将信息传遞到服务器以进行验证或将其写入数据存储区,要避免使用导致回发的代码,以提高网页的性能并改善用户体验。如果开发自定义服务器控件,可以通过让它们为支持ECMAScript(JavaScript) 的浏览器呈现客户端代码。通过这种方式使用服务器控件,能显著减少信息被发送到Web服务器的次数。

如果必须执行回发操作,使用Page对象的IsPostBack属性来避免回发时执行不必要的重复执行。对于仅在首次请求页面时执行,而不是每次回发时都执行的代码,应当通过判断页面的IsPostBack属性,确保只在第一次加载页面时执行。

1.2按需使用视图状态

视图状态使得服务器控件可以在往返行程中保存控件的状态,而不需要编写任何代码。但是,因为视图状态是加密保存在窗体的隐藏字段中的,页面提交时同样会被提交到服务器并在处理完成后发送到客户端浏览器,所以该功能增加了页面的大小,降低了服务器处理的速度,因此应当只在必要的时候才保存视图状态。如果页面不需要向服务器回发或页面服务器控件的数据在经历服务器的往返行程后值会发生变化,保存视图状态也就失去了意义。在这种情况下,应当禁用视图状态。默认情况下,ASP.NET为所有服务器控件启用视图状态。若要禁用它,将控件的EnableViewState属性设置为false,如。还可以使 用@Page指令禁用整个页的视图状态,如<%@PageEnableViewState="false"%>。

1.3优选重定向方法

ASP.NET提供了超链接、跨页发送、浏览器重定向和服务器传输 4种在网页中生成重定向的方式。每种重定向提供的功能不同,适用的时机也不同。超链接由 HTML标签实现对目标页的请求,但不能将当前页的信息传递到目标页。跨页发送是将当前页信息发送到目标页。浏览器重定向是通过在服务器端编程方式强制浏览器向目标页发出新的请求。服务器传输是将控件传输到在源页位置呈现的新页中,不会用目标页的相关信息来更新浏览器信息。在不同的ASP.NET页之间重定向,如果不需要读取源页信息,应当优先采用超链接,如果需要读取源页信息,应当使用跨页发送或服务器传输的方式,如果是重定向到另一个Web应用程序,则只能使用跨页发送。只有在需要编程控制重定向的目标页的情况下才应当考虑采用浏览器重定向的方式。

2.状态管理

2.1按需使用会话状态

会话状态为保存特定用户信息提供了方便,但也增加了服务器开销,应该在不需要时禁用。方法是在页的@Page指令中将 EnableSessionState属性 设置为 false,如 <%@ PageEnableSessionState=" false"%>。果页需要访问会话变量,但不会创建或修改,则应将 EnableSessionState 的属性设置为ReadOnly。如果整个应用程序都不用保存会话状态,则可以禁用整个应用程序的会话状态,方法是在应用程序的Web.config文件的SessionState节中将 Mode属性设置为Off,如

2.2选择合适的会话状态模式

如果必须保存会话状态,应针对应用程序的需要,选择适当的会话状态模式。ASP.NET 提供了多种保存会话状态的模式: 进程内模式、状态服务器模式、SQL Server 模式和自定义模式。进程内会话状态速度最快,如果只在会话状态中存储少量易失数据时应当采用这样模式。只有在需要跨多个处理器(或多个计算机) 或者在服务器 (或进程) 重新启动时保存会话状态的情况下才考虑使用其他的模式。

3.Web 应用程序部署

3.1使用预编译

网站预编译后,部署服务器就可以不需要源代码,而且可缩短用户的初始响应时间,因为页在第一次被请求时无需编译。编译时可以选择预编译代码和.aspx页,或者仅预编译代码。如果只预编译代码,则无需重新编译整个站点就可以更新用户界面。如果预编译代码和.aspx 页则有利于保护知识产权,因为即便别人取得网站文件也无法直接修改和使用。

3.2 禁用调试模式

在部署应用程序或进行任何性能测量之前,应当禁用调试模式。如果启用了调试模式,应用程序的性能会受到影响。

3.3优化配置文件

默认情况下,ASP.NET配置文件被设置成启用最广泛的功能集并尽量适应最常见的情况。可更改某些默认配置以提高应用程序的性能。首先,仅对需要的应用程序启用身份验证。

ASP.NET 应用程序默认的身份验证模式为Windows或集成的NTLM。大多数情况下,最好仅对需要身份验证的应用程序在Machine.config 文件中禁用身份验证,在Web.config 文件中启用身份验证。其次,使用适当的编码格式。ASP.NET 默认的编码格式为 UTF-8。如果应用程序不需要广泛的支持,可以考虑采用其他编码以提高性能。最后,从请求处理管线中移除不用的模块。默认情况下,服务器计算机的Machine.config文件中HttpModules节点的所有功能均保留为活动状态 。对于不用的模块,应当予以删除。比如,如果应用程序中不使用会话状态和输出缓存,就可以从HttpModules节中将它们删除。

4.结语

程序运行性能是影响ASP.NET程序速度运行的重要因素。良好的程序设计是开发高性能Web管理信息系统的基础。通过页面设计、状态管理、数据访问、Web应用程序部署方面的优化设计,能有效提高程序运行效率。 [科]

【参考文献】

[1]周博文,杜山泽.社会管理创新:从伦理观念、管理理念到思维方式的转变.载于.行政管理改革,2012(11).

[2]徐怀平.优化Oracle查询性能[J].电脑编程技巧与维护,2012,(12):39-49.

猜你喜欢

管理信息系统优化服务
营商环境五方面持续优化
优化英语课堂教学策略的探索
促进学生认识发展 优化初中化学复习
基于B/S结构的学生公寓管理信息系统的设计与实现
基于“互联网+”的企业管理信息系统优化分析
基于工作流的水运应急信息管理平台设计 
采掘服务个股表现
两则跟服务有关的故事
读者反馈 订阅服务
服务与咨询