1

我最近从 Azure 云服务迁移到 Azure Web App。早些时候,我曾经从我的 Webrole 类中禁用 rapidFailProtection。迁移到 Web App 后,我在 global.asax 文件的 Application 启动例程中删除了 webrole 类并添加了 rapidFail 的代码。但是报错: 角色发现数据不可用

在以下行:

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

如何为我的 Azure Web 应用实现相同的功能?

4

1 回答 1

1

如何为我的 Azure Web 应用实现相同的功能?

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

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

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

1.访问 KUDU 控制台。在 DEVELOPMENT TOOLS 中找到 Advanced Tools 点击 go。 在此处输入图像描述

2.点击dubug控制台的cmd。 在此处输入图像描述

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>

图片: 在此处输入图像描述

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

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

Xdt 变换样本

于 2017-05-08T05:31:01.880 回答