IIS中Web应用程序和WebServices自动调用Application_End函数

在IIS6.0下,配置一个Web 应用程序,或是Web 服务的时候,如果不指定特定的应用程序池,则使用默认的应用程序池:DefaultAppPool,而默认情况下,DefaultAppPool设置成为20分钟没有响应则执行释放应用程序实例,执行Gloabl.axax中Application_End中的操作,当下一个请求到来的时候,再执行Application_Start的操作,如果用户希望能一直保持应用程序实例的话,则需要在选择相应的应用程序池进行设置,取消这个限制。最近在项目中使用WebServices来实现任务调度的接口,为了实现任务任务的定时调度,我们在Application_Start中定义了一个Quartz.NET的一个调度对象,并对他进行初始化,没调用一个相应的web服务函数,就添加一个对应的job到该框架中,等待调度。我们在Application_End函数中对该调度对象进行了资源销毁工作。在测试过程中,我们发现,当停止调用Web服务后20-30分钟后系统自动调用Application_End函数,所以造成很多对应的job都不能正常调度,经过baidu,google终于找到原来就是上面介绍的问题,重新设置ApplicaitonPool和修改它的属性,设置成永远都不过期,问题解决。

你可能感兴趣的:(Web,application,任务调度,web服务,任务,IIS)