IIS7 및 VS Web Development 서버 모두에서 잘 실행되는 ASP.NET MVC 2 응용 프로그램이 있습니다. 나는 최근에 사이트에 영역을 추가했으며 IIS7 및 VS Web Development 서버에서도 제대로 작동합니다.ASP.NET MVC2 IIS6에서 작동하지 않는 영역
그러나이 사이트를 win2k3을 실행하는 IIS6 테스트 서버에 배포하면 영역이 더 이상 작동하지 않습니다. 모든 사이트의 나머지 부분에 대한 기본 경로를 사용하여 경로를 잘 (예 :/홈/인덱스 /), 그러나 (예 :/관리자/사용자/인덱스 /) 영역을 탐색 할 때 HttpException 얻을 :
System.Web.HttpException : 서버 응용 프로그램 디렉토리를 ': \을 Inetpub \ MobileWeb \ 관리 \ C'에 액세스 할 수 없습니다. 디렉터리가 이 아니거나 보안 설정으로 인해 액세스 할 수 없습니다.
C:\InetPub\MobileWeb\
은 내 사이트의 루트 디렉토리입니다. 파일 시스템에 Admin 디렉토리를 추가하면 다양한 어셈블리 로딩 오류가 발생하지만 제대로 작동하려면 영역을 확보 할 수 없다면 이런 일이 발생하지 않을 것이라고 확신합니다.
내가 한 모든 (그리고 전에 여러 번 수행 한) IIS6에서 ASP.NET MVC를 사용하려면이
는우리의 빌드 서버가 자동으로 배포 "파일이 있는지 확인"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
및 선택 해제에 매핑되는 와일드 카드 처리기를 추가하는 것이 었습니다 이 코드는 VS 2008 배포 프로젝트를 컴파일 한 다음 출력을 테스트 서버에 복사하여 만듭니다. 비슷한 문제가있는 this article을 찾았지만 해상도를 올바르게 이해하고 있다면 작동하지 않습니다.
내가 IIS6에서 작업하는 영역을 얻는 데 필요한 고유 한 것이 있습니까? -
업데이트 여기 전체 스택 추적입니다 :
[HttpException (0x80004005): Server cannot access application directory 'C:\InetPub\MobileWeb\'. The directory does not exist or is not accessible because of security settings.]
System.Web.HttpRuntime.EnsureAccessToApplicationDirectory() +8932031
System.Web.HttpRuntime.HostingInit(HostingEnvironmentFlags hostingFlags) +87
[HttpException (0x80004005): Server cannot access application directory 'C:\InetPub\MobileWeb\'. The directory does not exist or is not accessible because of security settings.]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +8894095
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +85
System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +259
업데이트 내가 VS2008 모두가 웹 사이트 및 VS2008 웹 배포 프로젝트 (수동 복사를 게시하여 테스트 서버에 게시를 시도했습니다 파일 이상) - 둘 다 같은 문제가 있습니다.
비 영역 경로가 기본 항목보다 복잡하더라도 작동합니까? 예 : '/ iis6/die/already/666'? – bzlm
경로 디버깅에서 무엇을 발견 했습니까? 경로를 "찾았"습니까? –
@bzlm - 표준/컨트롤러/액션/id보다 더 복잡한 경로가 없습니다. url_params = stuff 그리고 모두 작동합니다. – jaminto