asp.net 的进程模式
asp.net 的进程模式使用进程模型
进程模型配置
被动进程回收
主动进程回收
记录进程模型事件
启用网络园
本节小结
--------------------------------------------------------------------------------
对 ASP.NET 框架应用程序最重要的要求之一是可靠性。在服务器进程内运行的应用程序(在 IIS 中为 Inetinfo.exe)的结构没有为生成可继续长时间运行的可靠应用程序提供坚实的基础。有太多的资源在进程级别上共享,而且一个错误便使整个服务器进程崩溃的事情也太容易发生。
为解决此问题,ASP.NET 提供了一个进程外执行模型,保护服务器进程不受用户代码的干扰。它还使您能够对进程的生存期应用直观推断法,以提高 Web 应用程序的可用性。通过使用异步进程间通讯,可以在性能、可缩放性和可靠性之间实现最佳平衡。
进程模型配置
进程模型设置在计算机的根配置文件 Machine.config 中公开。配置节命名为 <processModel>,如下例所示。默认情况下启用进程模型 (enable="true")。
<processModel
enable="true"
timeout="infinite"
idleTimeout="infinite"
shutdownTimeout="0:00:05"
requestLimit="infinite"
requestQueueLimit="5000"
memoryLimit="80"
webGarden="false"
cpuMask="0xffffffff"
userName=""
password=""
logLevel="errors"
clientConnectedCheck="0:00:05"
/>
这些设置中的大多数控制何时启动新的辅助进程为请求服务(正常取代旧的辅助进程)。进程模型支持两种类型的回收:主动和被动。
被动进程回收
当进程行为失常或无法为请求服务时,发生被动进程回收。进程一般会显示可检测到的征兆,如死锁、访问冲突、内存泄漏等,以便触发进程回收。可使用下表中描述的配置设置来控制触发重新启动进程所依据的条件。
设置 说明
requestQueueLimit 处理死锁条件。此 DWORD 值被设置为队列中允许的最大请求数,超过这个数则认为辅助进程行为失常。当超出此数值时,会启动新的进程并重新分配请求。默认值为 5000 个请求。
memoryLimit 处理内存泄漏条件。此 DWORD 值被设置为辅助进程可使用的物理内存的百分比,超过这个数则认为辅助进程行为失常。当超出此百分比时,会启动新的进程并重新分配请求。默认值为 80%。
补充:asp教程,高级应用