Beim Versuch, eine Schattenkopie zu verwenden, kann die Website nicht gestartet werden. Im Ereignisprotokoll sind keine nützlichen Informationen enthalten.

Beim Versuch, eine Schattenkopie zu verwenden, kann die Website nicht gestartet werden. Im Ereignisprotokoll sind keine nützlichen Informationen enthalten.

Ich habe eine ASP.NET Blazor-Website mit .NET7, die unter Windows Server 2022/IIS 10 ausgeführt wird.

Wegeneinige Probleme, die ich mit Uploads habehabe ich beschlossen, die Schattenkopie zu aktivieren, da dies dieses Problem vermeiden sollte.

Ich folgte den Informationen aufdieser Blog-Beitrag, und habe meine Web.configDatei so geändert, dass sie so aussieht ...

<?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>

Dies führt jedoch dazu, dass die Website nicht gestartet wird und eine Fehlermeldung vom Typ 500 zurückgegeben wird. Wenn ich den Abschnitt auskommentiere oder entferne <handlerSettings>, funktioniert die Site einwandfrei.

Ein Blick in das Serverereignisprotokoll zeigt einen Eintrag mit der Quelle IIS AspNetCore Module V2und der folgenden Beschreibung …

Konfiguration konnte nicht geladen werden. Ausnahmemeldung:

Das ist die Gesamtbotschaft.

Für mich sieht es so aus, als ob IIS die Konfigurationsdatei nicht lesen kann, was normalerweise daran liegt, dass das XML ungültig ist, aber ich habe es in einem Validator geprüft und es war alles in Ordnung.

Obwohl ich nicht glaube, dass es so weit kommt, _ShadowCopyDirectoryexistiert der Ordner, also ist das nicht das Problem. Ich habe übergeordnete Pfade aktiviert, also sollte es auch nicht daran liegen, obwohl ich, wie gesagt, den Verdacht habe, dass es nicht einmal so weit kommt.

Die betreffende Site verwendet .NET 7, das diese Funktion unterstützt, daher sollte das auch nicht das Problem sein. Ich habe die IIS-Protokolle überprüft, aber sie zeigen nichts für die Zeiten an, in denen das Laden fehlgeschlagen ist.

Hat jemand eine Idee, was schief laufen könnte oder wo ich weitere Informationen finden kann? Das Ereignisprotokoll war keine Hilfe.

Antwort1

Ich hatte das gleiche Problem, das ich durch Löschen und erneutes Hochladen der web.config behoben habe. Einfaches Überschreiben hat nicht geholfen.

Antwort2

Stellen Sie sicher, dass Sie die neueste Version des ANCM und desWindows-Hosting-Paketinstalliert. Die Einstellung wurde mit diesem Namen erst nach .NET 7.0 RTM aktiviert – davor funktionierten nur die Vorschaunamen und wenn diese Namen nicht unterstützt wurden, traten web.config Fehler auf.

Stellen Sie außerdem sicher, dass Ihre App Leserechte für den Webordner hat. Das ist schwierig, kann aber passieren, wenn Sie ein benutzerdefiniertes Konto verwenden, das nicht mindestens Lesezugriff auf Ihr Webstammverzeichnis hat.

Startfehler beim Anwendungspool und bei der ASP.NET-Runtime werden normalerweise im Ereignisprotokoll angezeigt. Suchen Sie dort nach weiteren Informationen zum auftretenden Fehler.

verwandte Informationen