2010-03-27 2 views
2

우리는 응용 프로그램에서 System.File.IO에 액세스하는 MVC 컨트롤러를 사용하며 localhost (IIS 6.0 기반 Cassini)에서 제대로 작동합니다. IIS7에 배포 할 때 UnauthorizedAccessExceptions을 throw하기 때문에 컨트롤러를 작동시키는 데 문제가 있습니다.IIS7에서 실행되는 MVC 2 응용 프로그램에서 "UnauthorizedAccessException"을 해결할 수 없음

문제 해결을 위해 다음 우리가했던 : - 질문 에있는 파일과 폴더에 대한 권한이 설정의 네트워크 서비스 및 IUSR 계정 - 앱 풀 네트워크 서비스에서 실행하고 사용자 프로파일을로드 보장 - 응용 프로그램이 완전 신뢰 에서 실행 - 이제

(즉, 우리가 무엇을 원하는 아니기 때문에 좋은 생각이되지 않은) 우리는 네트워크 서비스 쓰기 권한의 Web.config에 가장을 추가하고주는 시도, 우리는 점점 교대 UnauthorizedAccessException 및 경로가 완전히 무시되고 있다고 제안하는 IIS7 404 페이지 (예 : 컨트롤러를 통해 "/favicon.ico"를 제공함) 실제 파일이 실제로 /content/images/favicon.ico에있을 때). ProcessMonitor를 사용하여 문제를 추적했지만 성공하지 못했습니다.

UPDATE :

이 문제는 간헐적입니다. 우리는 구성을 변경하지 않고 모든 것이 작동하는 몇 분의 짧은 시간을 가졌습니다. EC2에서 실행 중이므로 분산 파일 시스템과 관련 될 수 있습니다. 우리는 또한 별도의 드라이브를 사용하여 모든 웹 사이트 데이터를 저장합니다. 우리는 inetpub/wwwroot를 사용하지 않습니다.

업데이트 2 :

이 사이트는 필요하지 구성 변경으로, IIS 7.5에서 문제없이 작동하지만이 때문에 새로운 AppPoolIdentity 실행 가능성이 높습니다. 그렇지 않으면 동일한 배포입니다. 안타깝게도 우리는이 EC2 인스턴스에서 R2를 실행할 수 없습니다. 원인을 식별하는 방법의

답변

0

문제는 파일 요청을 제대로 처리하지 못하는 컨트롤러 팩토리로 판명되었습니다.

1

하나는

Procmon이 파일을 열 수 없습니다, 그것은 또한 파일을 들고있는 표시됩니다에 대한 이유를 보여줍니다 시스 인 터널

에서 Procmon 도구를 사용하고 있습니다.

+0

확실히 사용했지만 일반적으로 좋은 팁입니다. –

관련 문제