저는 지난 며칠간 IIS6에서 IIS7로 상당히 큰 웹 응용 프로그램을 마이그레이션하려고 시도했지만 IIS7은 aspx 페이지를로드하지 못합니다.IIS7에서 aspx 페이지를로드하지 못했습니다.
응용 프로그램은 반사 및 웹 서비스를 많이 사용하는 .net 3.5 웹 응용 프로그램입니다. 웹 UI (aspx 페이지) 및 webAPI (asmx 페이지)의 두 가지 주요 구성 요소 (각 응용 프로그램 풀을 공유하지만 IIS7에서 자체 웹 사이트가 있음)를 사용합니다.
webAPI 부분은 완벽하게 실행됩니다 (브라우저에서 테스트 할 수없는 몇 가지 사항이 있습니다). 웹 UI 페이지에는 고정 된 HTM 페이지가 잘로드됩니다. 문제는 우리가 aspx 페이지 (aspx 페이지)를 보려고하면 모든 것이 멈추게됩니다. 몇 분 후에 IIS 5010 경고 (ping을 무시하는 작업자 프로세스)가 발생할 때까지 이벤트 뷰어에 오류가 기록되지 않습니다.
우리는 두 가지 방법으로 응용 프로그램을 마이그레이션하려고 시도했습니다
- 을 수동 : 우리는 필요한 모든 파일을 이동하고 웹 사이트로 다음 가상 디렉터리를 설정 변환됩니다. 결과 : 작업자 프로세스가 단일 코어의 100 %를 차지하고 수동으로 종료 될 때까지 수동으로 종료 될 때까지
- 자동으로 : www.iis.net에서 MSDeploy 응용 프로그램을 활용하여 전체 IIS6 웹 서버를 보관하고 빈 IIS7에 압축을 풉니 다. 설치하십시오. 우리는 401.2 오류를 없애기 위해 Forms Auth를 해제해야했지만 그 결과 WebAPI 구성 요소는 여전히 잘 작동했지만 웹 UI 작업자 프로세스가 단일 코어의 100 %를 차지하는 대신 성장했습니다 필요한 메모리의 약 1/3까지 아무 것도하지 않아도됩니다.
어느 쪽이든, 사용자의 관점에서 어떤 일이 발생했는지는 마찬가지였습니다.
관리 코드를로드하지 않는 것 때문에 디버거를 작업자 프로세스에 연결할 수도 없습니다.
세부 사항 :
- .NET 프레임 워크 : V3.5
- CLR 버전 : 2.0
- IIS 인증 모드 : 익명
- OS 아치 : 64
- 앱 아치 : 86
- 클래식 파이프 라인과 통합 파이프 라인 모두에서 발생합니다.
주 :
- 새로운 웹 프로젝트는 IIS7에서 잘 작동하는 것 그리고, 물론, XML 웹 서비스는 이 만든 임시 ASP.net 된 DLL에 저장됩니다
- 일시적으로 DLL을 잘하다 폴더, 심지어는 작업자 프로세스가 관리되는 코드를 포함하지 않는 것처럼 보입니다.웹 UI 프로젝트에 추가
- 새로운 페이지도 같은 동작이
업데이트 (시도 다치게하지 않았나요) 표시 : 우리는 하나의 어셈블리에 문제가 좁혀했습니다
- . 제 3 자 웹 컨트롤을위한 래퍼입니다. 나는 그것을 대체 할 것으로 생각하고있다. 우리는 그것이 문제를 해결하는지 보게 될 것이다.
IIS7에서 "실패한 요청 추적"을 설정하십시오. 그건 좀 더 많은 정보를 줄거야. – David
나는 너무 오래 걸리는 실패한 요청 추적을 받았지만 그게 전부입니다. 다른 오류는 없습니다. 추적에서 의심스러운 유일한 점은 거의 즉시 asp 요청을 대기열에 포함시키고 대기열에서 제외한다는 것입니다. –
또 다른 재미있는 요청 추적은 실제로 요청 상태에 대해 200을보고하고 있습니다. : \ –