2012-06-21 2 views
0

ASP.net 응용 프로그램에서 시작한 비즈니스 프로세스의 출력으로 서버 텍스트 파일을 작성해야합니다. 텍스트 파일 작성 코드는 표준 스트림 코드를 사용하여 라이브러리 파일에 있습니다.Asp.net 쓰기 서버 쪽 파일

IDE에서 모두 제대로 작동합니다.

게시하고 파일 쓰기를 시도합니다. IIS는 파일 시스템에 쓰는 것을 꺼립니다.

결국 머리카락을 잡아 당기고 머리카락을 잡아 당기면 결국 해결책이되었습니다. 예쁘지 않고 웹 서버를 제어 할 수있는 상황에서만 적용됩니다.

답변

0

답변을 보았습니다. 보안 권한이 응용 프로그램으로 실행되고있는 사용자에 대해 올바르게 설정되어 그것은 그 문제에 대한 wwwroot에을 Inetpub 또는 디렉토리 내에있을 필요가 없습니다

, 그것은 한, 어느 곳이 될 수 있습니다.

그러나 실제로는 이것이 바람직합니다. 쓰기 액세스를 허용하는 결과를 상상할 수는 없습니다.

또한 가상 디렉터리가 필요하지 않습니다. 당신은 C : \ ProcessOutput과 같은 디렉토리를 생성 할 수 있으며 이에 따라 권한을 부여하면 정상적으로 작동합니다. 또 다른 옵션은 서비스 계정을 만들고 해당 출력 파일을 작성해야 할 때만 응용 프로그램 내에서 해당 사용자로 가장 할 수 있습니다.

+0

안녕하세요 파블로, 답장을 보내 주셔서 감사합니다. 개념적 필요성을 이해하십시오. 내가 세운 것은 결과를 얻는 한 가지 방법이었습니다. 예쁘지는 않지만 보안에 정통하지 않고 내부 애플리케이션을 다룰 때 작업을 수행합니다. 가상 디렉터리의 종류가 필요하지 않을 수도 있지만 더 많은 시간을 테스트하지 않았습니다. –

+0

그래, 완벽하게 이해할 수 있고, 너무 거기에있어 :) 난 단지 당신이 그것이 작동하도록 가상 디렉터리를 가지고 있다고 생각하지 않았는지 확인하고 싶었어요. –

0

해결했다 : C : 의 물리적 경로로 웹 서버의 실제 디렉터리를 만듭니다 \을 Inetpub \ wwwroot에 \ mywebapp와 \ myOutputFileDirectory

디렉토리를 가리키는 가상 디렉터리를 확인합니다.

Windows 탐색기를 사용하면 물리적 디렉토리에 대한 쓰기 권한이 IIS_IUSRS에 부여됩니다.

사용 C의 실제 경로 : \을 Inetpub \ wwwroot에 \ mywebapp와 \ myOutputFileDirectory는 보안이 정리 될하지만 난 충분히 나는 경우

어쩌면 가상 경로는 LAN을 통해 어딘가에 분별를 가리 수있는 당신의 StreamWriter를 코드에 감사와 함께이 작은 빵가루를 받아 들일 폭행.