2011-08-13 4 views
4

로컬 시스템 (Windows 7)에서 ASP.Net 프로젝트 (프레임 워크 2.0)를 개발 중입니다. IIS 7.5는 로컬 웹 서버입니다.Environment.GetFolderPath (Environment.SpecialFolder.InternetCache)는 ASP.Net 프로젝트에서 빈 문자열을 반환합니다.

프로젝트를 로컬로 실행할 때 Environment.GetFolderPath(Environment.SpecialFolder.InternetCache)은 빈 문자열을 반환합니다.

저는이 새로운 장치를 설치할 때이 문제가 발생했기 때문에 뻔뻔스럽고 좌절했습니다. 그러나 솔루션을 기억할 수 없으며 검색으로 솔루션을 찾을 수 없습니다. XP를 실행하는 개발팀의 다른 사람들은이 문제를 겪지 않습니다.

나는 C:\Users\DefaultAppPool\AppData\Local\Microsoft\Windows\Temporary Internet Files의 반환을 기대하고 있습니다.

이 설정이 문제가되는지 또는 어딘가에서 환경 변수를 설정할 수 있는지 확실하지 않습니다.

감사합니다, 제프

+0

appPool의 ID는 무엇입니까? –

답변

5

나는이 권한 문제로 내려 오는 것입니다 99 % 확신한다. IIS7에는 AppPoolIdentity라는 새로운 "사용자"가 있습니다.이 사용자는 응용 프로그램 풀의 기본 ID입니다. 이 사용자는 IIS 6의 기본값보다 훨씬 낮은 권한을 가지고 있습니다.

문제점을 재현 할 수 있습니다. LocalSystem 또는 관리자 권한을 가진 특정 사용자로 실행되도록 AppPool을 설정해야 Environment.SpecialFolder.InternetCache를 검색 할 수 있습니다. 문제가되는 폴더를보고 권한을 확인하십시오.

높은 권한으로 IIS 응용 프로그램 풀을 실행하는 경우 보안 문제가 있음을 알고 있어야합니다.

+0

응답 해 주셔서 감사합니다. 도움이되었다. 또한 LocalSystem에 AppPoolIdentity를 설정하여 폴더 경로를 얻을 수 있음을 발견했습니다. – JWhitsitt

+0

DefaultAppPool, C : \ Users \ DefaultAppPool \ AppData \ Local \ Microsoft \ Windows \ Temporary 인터넷 파일 폴더에 대한 전체 사용 권한을 부여하면 Environment.SpecialFolder.InternetCache가 여전히 빈을 반환합니까? – JWhitsitt

+0

아마도 그 폴더와 그 체인의 상위 폴더의 조합 일 것입니다. 내 노트북 ​​(윈도우 7뿐만 아니라)에서 폴더 사용 권한을 변경하는 것에주의를 기울여야합니다. 내 InternetCache 폴더는 C : \ Windows \ system32 \ config \ systemprofile \ AppData \ Local \ Microsoft \ Windows \ Temporary Internet Files입니다. –

관련 문제