回收应用程序池究竟对应用程序意味着什么

时间:2009-10-26 16:58:02

标签: visual-studio-2008 c#-2.0

在属性中,选中了一个复选框,上面写着“回收工作进程”,设置为1740分钟。

这对我的asp.net代码到底意味着什么? 一切都会从静态变量或会话/应用程序变量中消失吗?

回收对于代码究竟意味着什么?

3 个答案:

答案 0 :(得分:8)

回收意味着启动一组新进程来处理池中应用程序的新请求。任何未完成的请求都将正常完成(假设它们不会花费太长时间),此时池的旧进程将以有序的方式终止。

因此,存储在应用程序对象中的静态变量值和值将丢失,如果会话存储在-proc中,则会话值也会丢失。

答案 1 :(得分:4)

IIS将回收托管您应用的工作进程。这意味着您的AppDomain,HttpContext,静态变量,所有内容都将被重置。

编码总是好的做法,好像整个过程可以随时拆除一样。

答案 2 :(得分:4)

回收意味着将关闭IIS工作进程并启动新工作进程。 I.E它将重新启动您的申请。这是对应用程序中的线程/内存泄漏的保护措施。