【发布时间】:2015-02-09 19:53:50
【问题描述】:
我在 Azure 网站上部署了一个网站,我想禁用池回收。
如果您有常规的 IIS 安装,您可以在应用程序池高级设置中通过将“回收 -> 禁用重叠回收”设置为 true 来禁用此功能。
但我似乎无法在 azure 管理控制台中找到此选项,也没有在线找到有关此主题的任何信息。
任何指针将不胜感激!
【问题讨论】:
标签: iis azure azure-web-app-service
我在 Azure 网站上部署了一个网站,我想禁用池回收。
如果您有常规的 IIS 安装,您可以在应用程序池高级设置中通过将“回收 -> 禁用重叠回收”设置为 true 来禁用此功能。
但我似乎无法在 azure 管理控制台中找到此选项,也没有在线找到有关此主题的任何信息。
任何指针将不胜感激!
【问题讨论】:
标签: iis azure azure-web-app-service
非常感谢 Puneet Gupta 为我指明了正确的方向! 我无法使用确切的解决方案,但它让我走上了正确的道路。
我是这样解决这个问题的:
1) 获取 applicationHost.config。 最简单的方法是通过“文件”通过 SCM 控制台,然后按照 json 中的链接。 最后,你到了这里:https://YOUR_WEBSITE_NAME.scm.azurewebsites.net/api/vfs/LocalSiteRoot/Config/applicationhost.config
2) 识别重叠回收的当前状态。 在 applicationHost.config 文件中,查找“applicationPools”元素 它应该是这样的:
<applicationPools>
<add name="YOUR_SITE_NAME" managedRuntimeVersion="v4.0">
<processModel identityType="ApplicationPoolIdentity" />
</add>
<add name="~1YOUR_SITE_NAME" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated">
<processModel identityType="ApplicationPoolIdentity" />
</add>
</applicationPools>
如果你看到这个,那么重叠回收是启用! 你不能直接写入这个文件,但幸运的是微软给了我们改造它的能力!
3) 改造它! 您可以通过将 applicationHost.xdt 文件放在网站的 /site 目录中来转换 applicationHost.config 文件(请注意,网站本身部署在 /site/wwwroot 目录中,因此您的 applicationHost.xdt 转换必须驻留在您网站所在位置的父文件夹。 如果你想禁用重叠回收,那么这就是你放在文件中的内容:
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">>
<system.applicationHost>
<applicationPools>
<add name="YOUR_SITE_NAME" xdt:Locator="Match(name)">
<recycling disallowOverlappingRotation="true" xdt:Transform="Insert" />
</add>
<add name="~1YOUR_SITE_NAMEd" xdt:Locator="Match(name)">
<recycling disallowOverlappingRotation="true" xdt:Transform="Insert" />
</add>
</applicationPools>
</system.applicationHost>
</configuration>
4) 重启网站 最后,您需要重新启动您的站点以应用您的转换。 重新启动后,再次转到第 1 步,您现在应该会看到以下内容:
<applicationPools>
<add name="YOUR_SITE_NAME" managedRuntimeVersion="v4.0">
<processModel identityType="ApplicationPoolIdentity" />
<recycling disallowOverlappingRotation="true" />
</add>
<add name="~1YOUR_SITE_NAME" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated">
<processModel identityType="ApplicationPoolIdentity" />
<recycling disallowOverlappingRotation="true" />
</add>
</applicationPools>
等等:重叠回收现在已在您的 azure 网站上禁用。
【讨论】:
%WEBSITE_SITE_NAME% = YOUR_SITE_NAME 和%WEBSITE_IIS_SITE_NAME% = ~1YOUR_SITE_NAME。 Kudu wiki 有一些使用环境变量替换的示例:github.com/projectkudu/kudu/wiki/…。