禁用WebApp中的RapidFail Protection

时间:2017-05-05 12:45:56

标签: azure iis azure-web-app-service azure-hub

我最近从Azure Cloud Service迁移到Azure Web App。之前我用来从我的Webrole类中禁用rapidFailProtection。迁移到Web App后,我删除了webrole类,并在global.asax文件的Application启动例程中添加了rapidFail的代码。但它给出了一个错误: 角色发现数据不可用

在以下行:

       Dim mainSite =  serverManager.Sites(RoleEnvironment.CurrentRoleInstance.Id + "_Web")

如何为Azure Web App实现相同的功能?

1 个答案:

答案 0 :(得分:1)

  

如何为Azure Web App实现相同的功能?

据我所知,rapidFailProtection是一个应用程序池设置,您可以在app service中的ApplicationHost.config文件中设置它。

因此,如果您想在azure Web应用程序中将rapidFailProtection设置为false,我建议您尝试使用XML文档转换(XDT)声明来转换Azure中的Web应用程序中的ApplicationHost.config文件应用服务。

我建议您可以尝试以下步骤将XDT文件添加到您的网络应用中以更改ApplicationHost.config设置。

1.访问KUDU控制台。在开发工具中找到高级工具,然后单击“执行”。 enter image description here

2.点击dubug console的cmd。 enter image description here

3.找到D:\ home \ site并添加以下xdt文件。 注意:将名称更改为您的Web应用程序服务名称

<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <system.applicationHost>
    <applicationPools>
      <add name="testforapppool" xdt:Locator="Match(name)">
        <failure rapidFailProtection="false" xdt:Transform="InsertBefore(/configuration/system.applicationHost/applicationPools/add[(@name='testforapppool')]/*[1])" />
      </add>
      <add name="~1testforapppool" xdt:Locator="Match(name)">
        <failure rapidFailProtection="false" xdt:Transform="InsertBefore(/configuration/system.applicationHost/applicationPools/add[(@name='~1testforapppool')]/*[1])" />
      </add>
    </applicationPools>
  </system.applicationHost>
</configuration>

图像: enter image description here

此外,您还可以安装名为IIS Manager的站点扩展,只需编辑applicationhost.config,即可轻松创建XDT文件。

更多细节,你可以参考这篇文章: Azure App Service web app advanced config and extensions

Xdt transform samples