[asp.net] ASP.NET 2.0-app_offline.htm 사용 방법

app_offline.htm본질적으로 응용 프로그램을 종료하고 다른 페이지가 요청되지 않도록하는 .NET 2.0 응용 프로그램의 루트 내에 배치 할 수있는 파일 에 대해 읽었습니다 .

파일을 루트에 배치했는데 사이트가 여전히로드됩니다. IIS의 기본 문서로 이동하여로 설정했는데 app_offline.htm사이트가 여전히로드됩니다 (하지만 캐싱 문제 일 수 있음).

어쨌든, 이것을 사용하여 문제가 발생한 사람이 있습니까? 내가 뭘 잘못하고 있니?



답변

나는 매우 편리한 app_offline.htm 트릭을 사용하여 과거에 아무 문제없이 사이트를 종료 / 업데이트했습니다.

IIS 내에서 구성한 웹 사이트의 “루트”에 “app_offline.htm”파일을 실제로 배치하고 있는지 확인하십시오.

또한 파일 이름이 정확히 다음과 같은지 확인하십시오. app_offline.htm

그 외에는이 파일 (이 특정 이름 사용)의 처리가 IIS 자체 (IIS v6의 경우)가 아닌 ASP.NET 런타임에서 처리되기 때문에 변경해야하는 IIS에 대한 다른 변경 사항이 없어야합니다.

그러나이 파일을 사이트의 루트에 배치하면 응용 프로그램이 강제로 “종료”되고 “app_offline.htm”파일 자체의 내용이 표시되지만 기존 요청은 여전히 ​​실제 웹 사이트를 제공합니다. 그들에게. 새로운 요청 만 app_offline.htm 콘텐츠를 가져옵니다.

여전히 문제가있는 경우 추가 정보를 보려면 다음 링크를 시도하십시오.

Scott Gu의 App_Offline.htm

App_Offline.htm 및 “IE 친화적 인 오류”기능 해결

app_offline.htm이 현재 요청을 중지합니까 아니면 새 요청 만 중지합니까?


답변

app_offline.htm 파일의 길이가 최소 512 바이트인지 확인하십시오. 0 바이트 app_offline.htm은 효과가 없습니다.

업데이트 : 최신 버전의 ASP.NET/IIS는 내가 처음 작성할 때보 다 더 잘 작동 할 수 있습니다.

업데이트 2 : ASP.NET MVC를 사용하는 경우 web.config에 다음을 추가합니다.

<?xml version="1.0"?>
<configuration>
    <system.webServer>
        <modules runAllManagedModulesForAllRequests="true" />
    </system.webServer>
</configuration>


답변

이는 IIS 6 및 7.x 및 .NET 2, 3 및 4.x에서 동일하게 작동합니다.

또한 app_offline.htm이있는 경우 IIS는 다음 http 상태 코드를 반환합니다.

HTTP/1.1 503 Service Unavailable

이것은 모두 의도적으로 설계된 것입니다. 이를 통해로드 밸런서 (또는 기타)가 서버가 오프라인 상태임을 확인할 수 있습니다.


답변

가능한 권한 문제

이 게시물이 상당히 오래되었다는 것을 알고 있지만 비슷한 문제가 발생하여 파일의 철자가 정확합니다.

원래 다른 위치에 app_offline.htm 파일을 만든 다음 응용 프로그램의 루트로 옮겼습니다. 내 설정 때문에 권한 문제가 발생했습니다.

웹 사이트는 마치 거기에없는 것처럼 작동했습니다. 이동하는 대신 루트 디렉토리 내에 파일을 생성하면 문제가 해결되었습니다. (또는 속성-> 보안에서 권한을 수정할 수 있습니다)

누군가에게 도움이되기를 바랍니다.


답변

app_offline.htmIIS에서 가상 디렉터리 또는 웹 사이트의 루트에 있는지 확인 합니다.


답변

파일 이름 확장자가 탐색기에 표시되고 파일 이름이 실제로

app_offline.htm

아니

app_offline.htm.htm


답변

해결하는 데 약간의 시간이 걸리는 원래 질문과 매우 유사한 문제가 발생했습니다.

다른 사람이 MVC 응용 프로그램에서 작업하고이 스레드로가는 길을 찾은 경우 적절한 .Net aspnet_isapi.dll에 대한 와일드 카드 매핑이 정의되어 있는지 확인하십시오. 이 작업을 수행하자마자 app_offline.htm이 예상대로 작동하기 시작했습니다.


IIS 6 구성 단계

IIS 응용 프로그램 속성에서 가상 디렉터리 탭을 선택합니다.

애플리케이션 설정에서 구성 버튼을 클릭합니다.

와일드 카드 애플리케이션 맵에서 삽입 버튼을 클릭합니다.

C : \ WINDOWS \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_isapi.dll을 입력하고 확인을 클릭합니다.