在Azure Web角色中禁用IIS空闲超时

Alb*_*ori 24 c# azure web-deployment azure-web-roles

为防止AppPool每20分钟回收一次,我想在Azure Web角色启动时删除IIS AppPool空闲超时.我的网站是一个Web应用程序项目.

我该怎么做呢?

Edw*_*rey 32

创建启动任务以禁用空闲超时:

  1. 在Web角色项目引用的网站项目中,将文件添加Startup.cmd到根文件夹.

  2. 在属性中Startup.cmd,将" 复制到输出目录"设置为"如果更新则复制".

  3. 将此行添加到Startup.cmd:

    if exist %windir%\system32\inetsrv\appcmd.exe %windir%\system32\inetsrv\appcmd set config -section:applicationPools -applicationPoolDefaults.processModel.idleTimeout:00:00:00
    
    Run Code Online (Sandbox Code Playgroud)

    if exist %windir%\system32\inetsrv\appcmd.exe预选赛中是可选的.它允许您在Azure Emulator Express上使用相同的代码,因此您不需要安装IIS或需要以管理员身份运行Visual Studio.

  4. 将文件保存为UTF-8而不签名.(Visual Studio中的" 文件">"高级保存选项".)

  5. 在您的Web角色项目中ServiceDefinition.csdef,将其添加到WebRole:

    <Startup>
      <Task commandLine="Startup.cmd" executionContext="elevated" />
    </Startup>
    
    Run Code Online (Sandbox Code Playgroud)

  • +1非常有用的答案.但是你缺少第一个参数-section:applicationPools (3认同)