公告 :本博客为微软云计算中文博客 的镜像博客。 部分文章因为博客兼容性问题 ,会影响阅读体验 。如遇此情况,请访问 原博客 。
我经常听说的一个问题是在Windows Azure中是否有可能改变IIS应用程序池的闲置超时时间。其实这的确是可能的,使用启动任务很就很容易做到这一点。
默认的闲置超时值是20分钟,这意味着如果你的应用程序池20分钟不用就会被关闭有些人想改变这种状况,因为他们的应用程序静止20分钟后就会变得有点慢了。
要改变超时值为0(意思是”永不超时“),可以加入下列的启动任务声明到ServiceDefinition.csdef:
<Startup> <Task commandLine="startup/disableTimeout.cmd" executionContext="elevated" /> </Startup>
然后添加disableTimeout.cmd到一个 startup文件夹中,disableTimeout.cmd的代码如下(必须在一行,以下由于格式所限换行):
%windir%/system32/inetsrv/appcmd set config -section:applicationPools -applicationPoolDefaults.processModel.idleTimeout:00:00:00
确保 disableTimeout.cmd的“Copy to Output Directory”被设置为“Copy always”
本文翻译自:http://blog.smarx.com/posts/controlling-application-pool-idle-timeouts-in-windows-azure