섀도 복사본을 사용하려고 하면 웹 사이트가 시작되지 않고 이벤트 로그에 유용한 정보가 없습니다.

섀도 복사본을 사용하려고 하면 웹 사이트가 시작되지 않고 이벤트 로그에 유용한 정보가 없습니다.

Windows Server 2022/IIS 10에서 실행되는 .NET7을 사용하는 ASP.NET Blazor 웹 사이트가 있습니다.

때문에업로드와 관련하여 몇 가지 문제가 발생했습니다., 나는 이 문제를 피하기 위해 섀도 복사본을 활성화하기로 결정했습니다.

나는에 대한 정보를 따랐다.이 블로그 게시물, 내 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 오류가 발생했습니다.

또한 앱에 웹 폴더를 읽을 수 있는 권한이 있는지 확인하세요. 그렇게 하기는 어렵지만 웹 루트에 최소한 읽기 액세스 권한이 없는 사용자 지정 계정을 사용한 경우 발생할 수 있습니다.

응용 프로그램 풀 및 ASP.NET 런타임 시작 오류는 일반적으로 이벤트 로그에 표시되므로 발생하는 오류에 대한 추가 정보를 찾아보세요.

관련 정보