假设我有一个由IIS托管的ASP.Net Web应用程序。除了服务请求的功能之外,我还添加了一个在指定时间间隔(例如,每30分钟一班。此操作与外部Web请求无关,例如,其目的是删除无用的日志文件。IIS和托管的ASP.Net应用程序
现在的问题是:如果没有人长时间(一天,一周)来我的网站,IIS会保持我的应用程序的活动状态,并且上述操作将每隔30分钟执行一次。或者如果长时间没有请求,IIS会关闭/暂停应用程序的活动?
也许这是一个蹩脚的问题,但我没有找到明确的答案。
假设我有一个由IIS托管的ASP.Net Web应用程序。除了服务请求的功能之外,我还添加了一个在指定时间间隔(例如,每30分钟一班。此操作与外部Web请求无关,例如,其目的是删除无用的日志文件。IIS和托管的ASP.Net应用程序
现在的问题是:如果没有人长时间(一天,一周)来我的网站,IIS会保持我的应用程序的活动状态,并且上述操作将每隔30分钟执行一次。或者如果长时间没有请求,IIS会关闭/暂停应用程序的活动?
也许这是一个蹩脚的问题,但我没有找到明确的答案。
IIS没有关闭,但IIS会在一段时间的未使用后回收您的应用程序。
所以,如果你的应用程序负责解雇事件,那么如果你的应用程序没有运行(回收),它不会运行。
要么有一项服务在一段时间内击中您的网站,要么在服务器上设置计划任务(如果您有权访问本机)。
如果你在共享主机上,你必须检查他们的功能,看看他们是否有类似的东西。另外,如果你只是想删除日志文件或者一些琐碎而不是时间敏感的东西(因为除非有人打你的网站你不会有日志),你可以在Application_Start
中执行你的操作。这甚至会在IIS重新启动应用程序时触发。
你如何每30分钟执行一次动作? – jle
您的额外操作可能应该是计划作为Windows后台进程/服务运行的某些内容,而不是IIS或IIS Web应用程序的一部分。 – Derek
@jle计时器间隔 – marss