ASP.NET 페이지에서 Server.Transfer 또는 Server.Execute를 사용하는 경우 오류: 자식 요청 실행

이 문서에서는 iiS(인터넷 정보 서비스)의 ASP(활성 서버 페이지) 페이지로 제어를 전송할 때 오류(자식 요청 실행)가 발생하는 문제를 ASP.NET resolve 데 도움이 됩니다.

원래 제품 버전: ASP.NET
원본 KB 번호: 320439

증상

ASP.NET 페이지의 또는 Server.Execute 메서드를 사용하여 Server.Transfer ASP.NET 페이지에서 ASP 페이지로 컨트롤을 전송하려고 하면 다음 오류 메시지가 표시될 수 있습니다.

PageName.asp 대한 자식 요청을 실행하는 동안 오류가 발생했습니다.

오류 메시지의 PageName.asp ASP 페이지의 이름입니다.

원인

IIS는 요청 파일의 Server.TransferServer.Execute 확장에 따라 또는 요청을 적절한 ISAPI(인터넷 서버 애플리케이션 프로그래밍 인터페이스) 확장으로 디스패치합니다. 예를 들어 .aspx 페이지에 대한 요청은 Aspnet_isapi.dll ISAPI 확장으로 디스패치됩니다.

요청이 적절한 ISAPI 확장으로 디스패치되면 ISAPI 확장은 다른 ISAPI 확장을 호출할 수 없습니다. ASP.NET 페이지에 대한 요청을 처리하는 Aspnet_isapi.dll 파일이 요청을 ASP 페이지로 처리하는 Asp.dll 파일로 전달할 수 없으므로 증상 섹션에 나열된 오류 메시지가 표시됩니다.

해결 방법

이 문제를 resolve 위해 메서드를 Response.Redirect 사용하여 요청을 ASP.NET 페이지에서 ASP 페이지로 리디렉션합니다.

상태

이것은 의도적으로 설계된 동작입니다.