2017-05-05 60 views
0

我最近從Azure Cloud Service遷移到Azure Web App。早些時候我使用從我的Webrole類中禁用rapidFailProtection。遷移到Web App後,我已經刪除了webrole類,並在global.asax文件的應用程序啓動例程中添加了rapidFail的代碼。但它給了一個錯誤: 角色發現數據不可用在WebApp中禁用RapidFail保護

在下面一行:

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

我如何能實現我的Azure的Web應用程序相同的功能?

回答

0

How can I achieve the same functionality for my Azure Web App?

據我所知,rapidFailProtection是,你可以將其設置在應用服務ApplicationHost.config文件一個應用程序池設置。

因此,如果您想在天青網站應用中將rapidFailProtection設置爲false,我建議您可以嘗試使用XML文檔轉換(XDT)聲明來轉換Azure App Service中Web應用程序中的ApplicationHost.config文件。

我建議你可以嘗試下面的步驟來將XDT文件添加到你的web應用程序來更改ApplicationHost.config設置。

1.訪問KUDU控制檯。查找開發工具中的高級工具點擊開始。 enter image description here

2.單擊dubug控制檯的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簡單地創建XDT文件的.config。

更多細節,你可以參考這篇文章: Azure App Service web app advanced config and extensions

Xdt transform samples