我最近从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实现相同的功能?
答案 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控制台。在开发工具中找到高级工具,然后单击“执行”。
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 Manager的站点扩展,只需编辑applicationhost.config,即可轻松创建XDT文件。
更多细节,你可以参考这篇文章: Azure App Service web app advanced config and extensions