我最近从 Azure 云服务迁移到 Azure Web App。早些时候,我使用 Webrole 类禁用rapidFailProtection。迁移到Web App后,我删除了webrole类,并在global.asax文件的应用程序启动例程中添加了rapidFail的代码。但它给出了一个错误: 角色发现数据不可用
在下面一行:
Dim mainSite = serverManager.Sites(RoleEnvironment.CurrentRoleInstance.Id + "_Web")
如何为我的 Azure Web 应用实现相同的功能?
最佳答案
How can I achieve the same functionality for my Azure Web App?
据我所知,rapidFailProtection是一个应用程序池设置,您可以在应用程序服务的 ApplicationHost.config 文件中进行设置。
所以如果你想设置rapidFailProtection在 Azure Web 应用程序中设置为 false,我建议您可以尝试使用 XML 文档转换 (XDT) 声明来转换 Azure 应用服务中 Web 应用程序中的 ApplicationHost.config 文件。
我建议您可以尝试以下步骤将 XDT 文件添加到您的 Web 应用程序中以更改 ApplicationHost.config 设置。
1.访问KUDU控制台。在DEVELOPMENT TOOLS中找到Advanced Tools,点击go。
3.找到D:\home\site 并添加以下xdt 文件。 注意:将名称更改为您的网络应用服务名称
<?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 Manager 的站点扩展它让您只需编辑 applicationhost.config 即可轻松创建 XDT 文件。
更多详细信息,您可以引用这篇文章: Azure App Service web app advanced config and extensions
关于azure - 在 WebApp 中禁用快速失败保护,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43805366/