ASP.NET 프로그램을 IIS6에서 IIS7로 이식할 때(또는 VS2017과 같은 ide 환경에서 실행할 때) 실행할 때 다음 오류 메시지가 표시될 수 있습니다.
HTTP 오류 500.23 - 내부 서버 오류
통합 관리 파이프라인 모드에 적용되지 않는 ASP.NET 설정이 감지되었습니다.
IIS7의 응용 프로그램 풀에는 두 가지 모드가 있습니다. 하나는 "통합 모드"이고 다른 하나는 "클래식 모드"입니다.
클래식 모드는 우리에게 익숙한 IIS 6 방식입니다.
통합 모드를 사용하는 경우 사용자 지정 httpModules 및 httpHandlers에 대한 구성 파일을 수정하고 <modules> 및 <hanlders> 섹션으로 전송해야 합니다.
두 가지 솔루션:
1. IIS에 배포: 응용 프로그램 풀을 구성합니다.
IIS7에서 응용 프로그램 풀을 구성하고 응용 프로그램 풀의 모드를 "클래식"으로 변경하면 모든 것이 제대로 작동합니다.
2. web.config 구성 파일 수정
<system.web>
<!--웹 노드 기타 구성(생략)-->
</system.web>
<system.webServer>
<!--webServer 노드 기타 구성(생략)-->
<!--설정 금지 통합 모드 유효성 검사(validateIntegrateModeConfiguration="false") -->
<validation validateIntegratedModeConfiguration="false" />
</system.webServer>
즉, 위의 코드 스니펫에 설명된 대로 system.webServer에 <validation validateIntegratedModeConfiguration="false" /> 노드를 추가합니다.