簡體   English   中英

在 Azure 上部署的 .Net Core 3.1 Web 應用程序顯示錯誤 HTTP 錯誤 500.35 - ANCM Multiple In-Process Applications in same Process

[英]Deployed .Net Core 3.1 Web app on Azure shows error HTTP Error 500.35 - ANCM Multiple In-Process Applications in same Process

我已使用最新的 .net core 3.1 堆棧將 Web 應用程序部署到我們的 Azure 中,該應用程序分為 3 個在同一 Web 應用程序部署下運行的虛擬應用程序,這似乎是導致問題的原因,因為我可以訪問主應用程序位於根http://mywebapp/index.html但當我嘗試訪問任何虛擬路徑 IE 時: http://mywebapp/virtualapp/index.html顯示以下錯誤:

HTTP 錯誤 500.35 - ANCM 同一進程中的多個進程內應用程序 此問題的常見解決方案:

選擇不同的應用程序池以創建另一個進程內應用程序。 ANCM 檢測到的特定錯誤:每個 IIS 應用程序池只允許一個進程內應用程序。 請將應用程序“/LM/W3SVC/1848604257/ROOT/business”分配到不同的 IIS 應用程序池。 故障排除步驟:檢查系統事件日志中的錯誤消息 啟用記錄應用程序進程的標准輸出消息 將調試器附加到應用程序進程並檢查有關詳細信息,請訪問: https : //go.microsoft.com/fwlink/?LinkID=2028526

查看 Microsoft 引用的頁面,顯示此錯誤的信息是:

500.35 ANCM 同一進程中的多個進程內應用程序工作進程不能在同一個進程中運行多個進程內應用程序。

要修復此錯誤,請在單獨的 IIS 應用程序池中運行應用程序。

所以我的問題是,有沒有辦法在 .Net Core 3.1 下使用部署到單個 Web 應用程序的虛擬路徑中的多個 Web 應用程序? 或者這是對 .Net Core 3.1 的限制,並且應用程序應該部署到單獨的 Web 應用程序中?

謝謝

我最終向 Microsoft 詢問了此錯誤以及如何在 Azure 平台上解決此問題,他們指出解決方案是將您的 Web 應用程序以及從“InProcess”托管模型部署的任何其他虛擬應用程序更改為“OutOfProcess”,您可以在這里找到有關這意味着什么的更多信息,但基本上要實現這一點,您需要將以下值添加到每個項目文件 (.csproj):

<PropertyGroup>
  <AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
</PropertyGroup>

在 Azure 上部署后,通過驗證您的 web.config 是否具有以下設置來驗證更改是否發生:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet"
                  arguments=".\MyApp.dll"
                  stdoutLogEnabled="false"
                  stdoutLogFile=".\logs\stdout"
                  hostingModel="OutOfProcess" />
    </system.webServer>
  </location>
</configuration>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM