IIS会定时回收,类似于自动重新启动网站,我们都有知道网站启动后第一次访问往往会比较慢,网站启动后没有访问,过段时间iis会回收,请求再来的时候会和网站刚刚启动的时候一样,需要等待一段时间,很不舒服,这个就是因为iis回收导致的。

 

定时回收除了会出现上面的情况外,还会将我们托管的后台任务回收掉,导致我们的后台任务终止执行,直到进来一个请求(网站内任意地址)任务启动,那么如果请求很久没来,这个任务将无法被启动,错过任务应该执行的档口。虽然我们可以通过调整自动回收的时间,甚至设置他不自动回收,但这样始终不是最好的解决方案。

 

1、设置网站的启用预加载:
找到需要设置的网站,打开高级设置,将预加载已启用修改为true
2、设置应用程序池 启动模式为:AlwaysRunning
找到网站对应的应用程序池,打开高级设置,找到启动模式调整为AlwaysRunning
回收-》固定时间间隔(分钟)改为0
回收-》虚拟/专用内存限制(KB)改为0
进程模型-》闲置超时(分钟)改为0

 
 
经过上面的一顿操作,就配置好了,为了保险起见,设置定时任务一定要留心它的运行情况,以免产生不必要的麻烦,最好记录日志,关注下夜间网站闲置,被回收时的运行情况,保证稳定,如果你的任务仍有异常,那么最好写一个服务来跑定时任务。

文章信息

创建时间
2023-12-24
作者
郭铭心
是否所有人可见
所有人可见
最后修改日期
2024-01-19
点击数
515