3

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 웹 배포 프로젝트 (수동 복사를 게시하여 테스트 서버에 게시를 시도했습니다 파일 이상) - 둘 다 같은 문제가 있습니다.

+0

비 영역 경로가 기본 항목보다 복잡하더라도 작동합니까? 예 : '/ iis6/die/already/666'? – bzlm

+0

경로 디버깅에서 무엇을 발견 했습니까? 경로를 "찾았"습니까? –

+0

@bzlm - 표준/컨트롤러/액션/id보다 더 복잡한 경로가 없습니다. url_params = stuff 그리고 모두 작동합니다. – jaminto

답변

0

해당 폴더의 디렉터리 수준 사용 권한과 같습니다. "Everyone"그룹에 해당 디렉토리에 대한 읽기 권한이 있다고 가정합니다. 해당 디렉토리에 대한 액세스가 거부 된 계정이 있습니까? 나는 새로운 "관리자"영역을 추가했다

내가에서 모든 페이지에 갔다 때마다이 오류가 발생되었습니다

+0

어떤 디렉토리? – bzlm

+0

c : \ InetPub \ MobileWeb IIS 프로세스가 액세스 할 수없는 경우 이는받을 수있는 오류 종류입니다. –

+0

그러나 영역이없는 경로는 작동하지 않습니다. – bzlm

0

은 내가 그랬던 것처럼 당신이 같은 문제를 가지고 있지만, 경우에 당신이 여기 내 솔루션입니다 않았다는 것을 상당히 확률이 낮다 새로운 지역 그러나, 다른 모든 지역은 잘 작동하고있었습니다.

이 새 영역은 IIS의 주 응용 프로그램 아래 가상 사이트에서 호스팅되는 이전 웹 양식 응용 프로그램을 대체했습니다. 가상 사이트의 루트는 site.com/admin/입니다.

이전 응용 프로그램 파일은 파일 시스템에서 제거되었지만 IIS 사이트는 여전히 활성 상태였습니다. 요청이/admin/...에 올 때마다 응용 프로그램 루트를 찾을 수없는 이전 응용 프로그램에 의해 처리되어 예외가 발생했습니다.