来源:http://www.webshu.net/jiaocheng/programme/ASPNET/200606/1920.html
大家都知道,要实现一个24*7全天候运行的应用程序并不是一件容易的事。我的一个项目就曾经在暴力负荷下坚持了20多个小时后还是壮烈挂掉了。幸运的是,ASP.NET和IIS为我们提供了一些简便的设施,使我们能够轻松构建超级稳定的.Net应用程序。不过稍嫌不爽的是,Windows 2000(IIS6.0 以下版本) 和 Windows 2003(IIS6.0)系统下的配置方法不尽相同。
先说说windows 2000系统,熟悉ASP.NET的兄台应当都知道 machine.config 这个文件吧,它保存在 %WindowPath%/Microsoft.Net/Framework/%.NetVersion%/CONFIG/ 目录下。随便用什么文本编辑器(当然最土的就属 “记事本” 了)打开该文件,找到 <processModel ...> 这一节。ASP.NET就是根据这一节的设置,来控制ASP.NET服务进程(aspnet_wp.exe 或 w3wp.ext )的。我们的写的ASP.NET 应用程序代码就运行在这个进程空间内。如果你使用的是Framework 1.1 你会在这一节中看到n多个属性,我们关心的是下面三个,等号后面是它们的缺省值:
timeout="Infinite"
idleTimeout="Infinite"
memoryLimit="60"
在 Framework 2.0 下你看不到它们,但你可以手工把它们添加进去。
我来翻译一下这三个属性的意思,在持续运行了 timeout 指定的时间后,重启 ASP.NET服务进程,timeout 的缺省值为无穷大,你可以按“HH:MM:SS”的格式重新设置,如,timeout=24:00:00表示24小时后重启; 如果在 idleTimeout 指定的时间内没人的访问,则重启 ASP.NET服务进程,idleTimeout 的缺省值同样为无穷大,设置方式如上;如果ASP.NET服务进程 使用的内存占系统总内存的百分比超过了 memoryLimit 指定的数量,则重启 ASP.NET服务进程。
明白了吧,通过这三个属性的配合,就可以神不知,鬼不觉的重启服务进程,从而使咱的应用程序生生不息的运行下去。我这样说,细心的读者可能已经发现问题了,当服务进程重启时,客户端的会话(Session)必然会丢失,用户的操作也就被中断了。怎么能做到“神不知,鬼不觉”呢?
这个问题确实存在,不过可以通过如下措施将其影响减至最小,甚至完全消除:
首先,我们可以把 idleTimeout 设为一个合理的值,通常我会将其置为会话(Session)超时设置的1.5-3倍。将timeout 置为程序能坚持的上限值,我通常将其置为24小时。这样将迫使服务进程在空闲时重启,由于这时不存在任何会话(Session),所以也就不可能中断用户的操作。这种设置在中小企业办公环境中非常有效,因为下班后基本没有人访问。
当然,上面的方法局限性很大,只能在特定场合起作用。如果在持续有人访问,或者内存超限的情况下重启,用户的操作仍然会受到干扰。一个终极的解决办法就是,将会话(Session)状态保存在独立的进程中。在ASP.Net上,这也可以通过简单的配置实现。
分享到:
相关推荐
通过上述方法,我们可以充分利用Visual Studio 2005提供的功能,实现ASP.NET应用程序的性能优化,提供更快、更稳定的服务。同时,不断学习和掌握新的技术和最佳实践,将是保持应用竞争力的关键。
本文将深入探讨如何通过十大方法来提高ASP.Net应用程序的性能,旨在为开发者提供实用的指导。 #### 1. 优化数据库查询与连接管理 数据库查询效率直接影响应用程序的整体性能。使用参数化查询可以避免SQL注入攻击,...
总之,ASP.NET开源程序结合VB.NET语言,可以构建出高效、稳定的Web应用程序。尽管VB.NET在ASP.NET开源项目中不那么常见,但这个例子证明了其在Web开发中的可行性。通过理解`App_Code`、`App_Data`目录的用途以及`bbs...
首先,`web.config`文件是ASP.NET应用程序的核心配置文件,它包含了诸如数据库连接字符串、应用程序设置、身份验证和授权规则等关键信息。在微信支付的场景下,`web.config`文件中会包含微信支付平台的商户ID、API...
Jexus 是一个基于 Mono 环境的 ASP.NET Web 服务器,能够提供高性能、安全性和稳定性的 Web 应用程序部署解决方案。 Mono 部署 ASP.NET-MVC 应用程序 通过配置 Mono 环境,可以部署 ASP.NET-MVC 应用程序。Mono ...
在Windows操作系统下安装配置.NET框架是进行ASP.NET开发的基础,这一步骤确保了开发环境的兼容性和稳定性。 ### Visual Studio.NET开发工具 Visual Studio.NET是微软提供的集成开发环境(IDE),它集成了代码编辑...
ASP.NET考勤系统源码是一个基于微软的ASP.NET技术构建的Web应用程序,它主要用于实现企业的员工考勤管理功能。此系统通常包含用户登录、打卡记录、请假申请、考勤统计等多个模块,旨在提高人力资源部门的工作效率,...
优化应用池的设置,比如调整工作进程的回收策略,可以提高ASP.NET应用程序的响应速度和稳定性。 综上所述,要在IIS6.0中成功运行ASP.NET v2.0.50727应用程序,不仅需要正确注册ASP.NET,还需合理配置应用池、MIME...
### Winserver2003配置ASP.NET网站 #### 一、概述 本文档旨在提供一个简明的操作指南...尽管这些步骤对于初学者来说已经足够,但在生产环境中部署应用程序时,还需综合考虑更多的因素,以确保系统的稳定性和安全性。
ASP.NET 是微软公司开发的一种用于构建Web应用程序的框架,它基于.NET Framework,为开发者提供了丰富的功能和工具,简化了Web应用的开发过程。这个实例源码可能是为了展示如何使用ASP.NET来开发一个在线考试系统,...
- Web.config文件:配置ASP.NET应用程序的设置,如连接字符串、身份验证、授权规则等。 - 配置节:如system.web、appSettings、connectionStrings等,以及如何修改和读取这些配置。 6. **第六章 数据库访问技术**...
这可以通过Asp.net的角色和权限管理实现,通过后台配置,动态调整会员权益。 5. 会员搜索与操作:Asp.net的查询语句和Linq可以方便地实现会员的检索,同时,通过Ajax技术,实现页面无刷新的添加、删除和修改操作,...
【标题】"UCenter与Asp.net应用同步通信Demo"主要展示了如何在Asp.net应用程序中集成UCenter,实现用户数据的同步交互。UCenter是一个由Comsenz公司开发的社区用户中心系统,它能够集中管理多个基于相同或不同平台...
了解如何配置IIS和发布应用程序是ASP.NET开发中的重要环节。 九、调试与性能优化 学习如何使用Visual Studio进行调试,以及如何通过各种手段优化ASP.NET应用的性能,如缓存管理、数据库查询优化等,是提高开发效率...
《ASP.Net 2.0 + SQL Server 网络应用系统开发案例精解》这本书深入浅出地介绍了如何使用ASP.NET 2.0框架结合SQL Server数据库进行网络应用系统的开发。ASP.NET是微软公司推出的一种强大的Web应用程序开发平台,它...
【标题解析】 ...通过深入研究和分析这个基于ASP.NET的在线考试答题系统源码,开发者不仅能学习到Web应用程序开发的基本技能,还能了解到如何构建一个完整的线上考试平台,提升自己的实际项目经验。
《Web应用程序开发教程——ASP.NET+SQL Server》是由岳学军和李晓黎主编的一本专业教程,由人民邮电...通过学习这本教程,开发者可以掌握ASP.NET与SQL Server的结合应用,从而开发出高效、稳定且安全的Web应用程序。
在ASP.NET平台上构建的大型OA系统,能够充分利用.NET Framework的多层架构、数据访问技术、缓存机制以及安全性特性,确保系统的稳定性和可扩展性。 【.NET Framework】 .NET Framework是微软开发的一个软件框架,...
最后,ASP.NET应用部署通常涉及IIS(Internet Information Services)配置,开发者需要考虑部署策略,如负载均衡、缓存策略、数据库连接池等,以提高系统性能和可用性。 总结,"ASP.NET 申报系统"是一个涵盖了多种...