Global.asax和Web应用程序生命周期

时间:2010-08-05 20:51:32

标签: c# asp.net vb.net iis web-applications

问题:当Web应用程序启动时,它会在global.asax中执行Application_Start。

现在,只要该应用程序中第一个页面请求到达服务器,就会启动Web应用程序。

但我的问题是:在应用程序停止之前,应用程序将运行多长时间。 我的意思是在第一页请求之后,服务器上没有流量。

我需要知道,因为我打算启动一个侦听global.asax中tcp端口的服务器。 当应用程序停止时,服务器停止侦听其端口。

2 个答案:

答案 0 :(得分:4)

这取决于您的IIS设置。您的应用程序将在应用程序池中运行,该应用程序池采用一系列设置来定义此池的行为。

您正在寻找的是回收设置。在IIS 7中,您可以从管理控制台轻松访问这些内容。转到应用程序池,右键单击应用程序运行的应用程序池(如果您不知道它是哪一个,那么它可能是DefaultAppPool)并选择回收。

在这里,您可以找到控制应用池循环行为的选项,然后控制应用“重置”的时间。

答案 1 :(得分:2)

一句话(井2) - 共享主机。

在共享主机上要小心,(godaddy / webhost4life等)这个超时可能会更少,而且你没有选择在这些托管环境中配置它。我有一些案例,在某些偷看时间后,应用程序池在5分钟后被回收,因此您可能需要调查“唤醒”例程,以便将您的应用程序停留在内存中。我使用pingalive.com为一些共享主机应用程序做了很好的效果。

希望这有助于,即使是以抽象的方式。

吉姆