2011-12-15 3 views
2

ASP.NET 웹 페이지의 코드 뒤에 파일을 만들고 자바 스크립트 명령으로 코드를 여는 기능이 있습니다. 이것은 IDE에서 작동합니다 - 파일을 생성하고, 파일을 저장할 위치를 물어 본 다음 저장할 수 있습니다. -하지만 웹 사이트를 설치하고 테스트하면 UnauthorizedAccessException이 발생합니다. C : \ inetpub \ wwwroot에있는 파일의 디렉토리.C : inetpub wwwroot에서 프로그래밍 방식으로 파일을 만들 수 없습니다.

불만을 호소하는 부분은 서비스에서 실행되는 유사한 기능을 가지고 있으며 디렉토리와 파일을 C : \ inetpub \ wwwroot에 잘 작성한다는 것입니다.

웹 페이지에서이 기능을 사용하려면 어떻게해야합니까?

if(!Directory.Exists(directory)) 
{ 
     Directory.CreateDirectory(directory); 
} 

StreamWriter SW = new StreamWriter(fullpath, false, Encoding.Unicode); 

SW.WriteLine(/*stuff*/); 

SW.Close(); 

답변

7

.NET 사용자가 디렉터리를 마우스 오른쪽 단추로 클릭하고 보안 탭으로 이동하여 적절한 사용자를 추가하고 쓰기 확인란을 선택하여 쓰기 권한이 있는지 확인해야합니다.

.NET/Windows/IIS의 버전에 따라 다르지만 일반적으로 Network Service 또는 IUSR입니다. IIS7을 실행하는 경우 응용 프로그램 풀의 고급 설정에서 ID를 확인하십시오. 쓰기 권한이 필요한 사용자 (일반적으로 네트워크 서비스)이므로 확인하십시오. 당신이 그것을 할 수있을 것입니다

6

ASP.Net 사용자에게 디렉토리에 대한 쓰기 권한을 부여해야합니다.

+0

이 끝을 강제 주위에 어떤 방법이 있나요 바로 관리자 권한으로 실행 .exe 파일을 클릭하고 클릭하고 관리 previledges 를 사용하여 텍스트 편집기 (메모장 또는 TextPad를 또는 무엇이든)를 엽니 다 그것을 할 사용자? – Tory

+0

아니요. 마술처럼 허가를 훔칠 수는 없습니다. – SLaks

+1

@tory 실행중인 IIS 버전에 따라 다릅니다. IIS6.0을 실행중인 경우 IIS_WPG 그룹에 쓰기 액세스가 필요합니다. 이 도움이 될 수 있습니다. [링크] (http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/3648346f-e4f5-474b-86c7-5a86e85fa1ff.mspx?mfr=true) – hawkke

-2

는 지금