嘗試使用卷影副本時網站無法啟動,事件日誌中沒有有用的信息

嘗試使用卷影副本時網站無法啟動,事件日誌中沒有有用的信息

我有一個 ASP.NET Blazor 網站,使用在 Windows Server 2022/IIS 10 上執行的 .NET7。

由於我在上傳時遇到一些問題,我決定嘗試啟用卷影複製,因為這應該可以避免這個問題。

我關注了訊息這篇博文,並將我的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=".\MyWebSite.dll"
                  stdoutLogEnabled="false"
                  stdoutLogFile=".\logs\stdout"
                  hostingModel="inprocess">
        <handlerSettings>
          <handlerSetting name="enableShadowCopy"
                          value="true" />
          <handlerSetting name="shadowCopyDirectory"
                          value="../_ShadowCopyDirectory/" />
        </handlerSettings>
      </aspNetCore>
    </system.webServer>
  </location>
</configuration>

但是,這會導致網站無法啟動,並返回 500。如果我註解掉或刪除該<handlerSettings>部分,網站就可以正常運作。

查看伺服器事件日誌會顯示一個項目,其來源IIS AspNetCore Module V2和以下描述...

無法載入配置。異常訊息:

這就是全部資訊。

在我看來,IIS 似乎無法讀取配置文件,這通常是因為 XML 無效,但我已經在驗證器中檢查了它,結果正常。

雖然我認為還沒有那麼遠,但該_ShadowCopyDirectory資料夾存在,所以這不是問題。我已經啟用了父路徑,所以也不應該是這樣,儘管正如我所說,我懷疑它甚至沒有走那麼遠。

該網站正在使用 .NET 7,它支援此功能,因此這也不應該是問題。我檢查了 IIS 日誌,但在加載失敗時它們沒有顯示任何內容。

有人知道可能出了什麼問題,或者我可以在哪裡尋找更多資訊嗎?事件日誌沒有幫助。

答案1

我遇到了同樣的問題,透過刪除 web.config 並重新上傳來解決。簡單地覆蓋它並沒有幫助。

答案2

確保您擁有最新版本的 ANCM 和Windows 託管捆綁包安裝。僅在 .NET 7.0 RTM 之後才使用該名稱啟用該設定 - 在此之前,只有預覽名稱有效,如果不支援這些名稱,就會web.config 出現錯誤。

另請確保您的應用程式有權讀取 Web 資料夾。這很難做到,但如果您使用的自訂帳戶在 Web 根目錄中至少沒有讀取存取權限,則可能會發生這種情況。

應用程式集區和 ASP.NET 執行階段啟動錯誤通常會顯示在事件日誌中,因此請在其中尋找有關所發生錯誤的其他資訊。

相關內容