Team Foundation Server 2010에 액세스하고 새 작업 항목을 만드는 ASP.NET 응용 프로그램에서 작업하고 있습니다. 응용 프로그램은 NetworkService를 ID로 사용하여 DefaultAppPool에서 실행됩니다. 캐치 내가이 양식의 사용자가 TFS에서 작업 항목을 추가 할 수있는 권한이 없습니다 때문에, TFS에 연결하는 서비스 계정을 사용하고 있다는 점이다ASP.NET 응용 프로그램의 캐시 폴더에서 System.IO 액세스 오류가 발생했습니다.
[UnauthorizedAccessException: Access to the path 'Cache\v10' is denied.]
System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) +12892935
System.IO.Directory.InternalCreateDirectory(String fullPath, String path, Object dirSecurityObj) +1594
System.IO.Directory.CreateDirectory(String path) +311
Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore.GetDefaultCacheDirectory() +1807816
Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore.InitializeInternal() +225
: 나는 아래의 오류를 받고 있어요. 네트워크 서비스와 양식 별 서비스 계정에 응용 프로그램의 루트 디렉토리에 대한 모든 권한을 부여했습니다. 이 문제를 해결하는 데 문제가있는 방법을 모르겠습니다.
우리 서버는 IIS 7이 설치된 Windows Server 2008을 실행하고 있습니다. 로컬 Dev 시스템에서 디버그 모드로 실행하면 응용 프로그램이 올바르게 작동합니다.
제안 사항?
편집 : 내가 볼 수 있었던 것보다 그랜트의 게시물이 정확하지만, 원래의 게시물 앞에 이미 그 단계를 완료했습니다. (경로가 C : \ Program Files ... 기본 경로 대신 Cache \ v10 인 이유입니다.) NetworkService 계정에 IIS 응용 프로그램의 루트 폴더에 대한 완전한 소유권을 부여했지만 UnauthorizedAccessException을 받고있었습니다.
캐시 폴더를 네트워크 공유로 설정하고 NetworkService에 공유에 대한 전체 액세스 권한을 부여하여이 문제를 해결할 수있었습니다. 나는 이것을하지 않아도 좋겠지 만 지금은 제대로 작동하고있는 것 같습니다. "옳은 일"을하려고 노력할 수있는 사람이 누구인지 알면 감사 할 것입니다.
동일한 상자에 있습니까? (TFS 및 웹 응용 프로그램)? –
아니요, 다른 서버에 있습니다. –