问题描述
要prevent程序池每20分钟循环,我想我的Azure Web角色启动时删除IIS程序池空闲超时。我的网站是一个Web应用程序项目。
To prevent AppPool recycling every 20 minutes, I'd like to remove IIS AppPool Idle Timeouts when my Azure Web Role starts. My website is a Web Application Project.
我如何做到这一点?
推荐答案
创建启动任务禁用闲置超时:
Create a startup task to disable the idle timeout:
-
在你的Web角色项目中引用的网站项目,一个文件
STARTUP.CMD
添加到根目录下。
在 STARTUP.CMD
属性,将复制到输出目录以复制如果新
这行添加到 STARTUP.CMD
:
if exist %windir%\system32\inetsrv\appcmd.exe %windir%\system32\inetsrv\appcmd set config -section:applicationPools -applicationPoolDefaults.processModel.idleTimeout:00:00:00
的是否存在%WINDIR%\\ SYSTEM32 \\ INETSRV \\ Appcmd.exe的
预选赛是可选的。它可以让你使用同样的code对Azure的模拟器前preSS,所以你不需要做IIS安装或需要运行Visual Studio以管理员身份。
The if exist %windir%\system32\inetsrv\appcmd.exe
qualifier is optional. It lets you use the same code on the Azure Emulator Express, so you don't need IIS installed or need to run Visual Studio as Administrator.
将文件另存为 UTF-8无签名即可。 (文件>高级保存选项在Visual Studio中。)
Save the file as UTF-8 without signature. (File > Advanced Save Options in Visual Studio.)
在您的Web角色的项目,在 ServiceDefinition.csdef中
,将其添加到 WebRole
:
In your web role project, in ServiceDefinition.csdef
, add this to the WebRole
:
<Startup>
<Task commandLine="Startup.cmd" executionContext="elevated" />
</Startup>
这篇关于禁用IIS空闲超时在Azure的Web角色的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!