Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[질문]다음과 같은 에러가... 도와주세요......

603 views
Skip to first unread message

곽정식

unread,
Dec 5, 2002, 4:47:13 AM12/5/02
to

제 PC에서 개발하고 다른 Server에 올리려 하니까 다음과 같은 메세지가
나타나고 실행되지 않네요..

NTFS의 파일보안문제인가 해서 everybody 모든 권한으로 설정해도 안되더군요...

서버에는 .Net WorkFrame만 설치하고 VS.NET은 설치하지 않았습니다.
뭐가 문제인지 부탁드립니다.
----------------------------------------------
'/xxx' 응용 프로그램에 서버 오류가 있습니다.
----------------------------------------------------------------------------
----

'D:\wwwroot\xxx\' 디렉터리에 대한 액세스가 거부되었습니다.
'D:\wwwroot\xxx\'의 디렉터리 변경 내용 모니터링을 시작하지 못했습니다.
설명: 현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 발생했습니다. 스택
추적을 검토하여 발생한 오류 및 코드에서 오류가 발생한 위치에 대한 자세한
정보를 확인하십시오.

예외 정보: System.Web.HttpException: 'D:\wwwroot\xxxx\' 디렉터리에 대한
액세스가 거부되었습니다. 'D:\wwwroot\xxx\'의 디렉터리 변경 내용 모니터링을
시작하지 못했습니다.

소스 오류:

현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 생성되었습니다.
아래의 예외 스택 추적을 사용하여 예외의 원인 및 위치 정보를 확인할 수
있습니다.

스택 추적:

[HttpException (0x80004005): 'D:\wwwroot\xxxx\' 디렉터리에 대한 액세스가
거부되었습니다. 'D:\wwwroot\xxxx\'의 디렉터리 변경 내용 모니터링을 시작하지
못했습니다.]

System.Web.FileChangesMonitor.StartMonitoringDirectoryRenamesAndBinDirectory
(String dir, FileChangeEventHandler callback) +444
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +324

[HttpException (0x80004005): ASP.NET 초기화 오류]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +926
System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +128

----------------------------------------------------------------------------
----
버전 정보: Microsoft .NET Framework 버전:1.0.3705.288; ASP.NET
버전:1.0.3705.288

Sung Woo Cho

unread,
Dec 8, 2002, 9:45:36 PM12/8/02
to
안녕하세요,

machine.config 파일의 <processModel> 태그에서 userName이 어떻게 설정되있는지
궁금합니다.
System으로 설정을 바꿔주시던지 아니면 machine으로 설정해 주시고 ASPNET
계정에 admin 권한을 부여해보세요.
그리고 aspnet_wp.exe를 다시 시작해 주십시요.(프로세스를 그냥 한번 Kill하시면
됩니다. 확장자가 .aspx인 파일을 요청받으면 자동으로 다시 시작됩니다.)

default 값으로 machine으로 잡혀 있는 이유는 최소한의 권한으로 작업자
프로세스(aspnet_wp.exe)를 실행시키기 위함입니다.
.NET Framework을 설치하면 기본적으로 ASPNET 계정이 생성되는데 userName이
machine으로 잡혀 있을 경우에 이 계정으로 작업자 프로세스를 구동합니다.
이 계정은 ASP.NET 웹 어플리케이션을 구동하기 위한 최소한의 권한만 가지고
있습니다.
이렇게 최소한의 권한만 가진 ASPNET계정으로 작업자 프로세스를 구동시키는
이유는 보안입니다.
기존의 ASP 어플리케이션은 IIS와 같은 메모리상에서 구동되었기 때문에 IIS
보안을 기본으로 사용하였으나, ASP.NET 어플리케이션은 IIS 독립적으로
appDomain을 가지고 실행이 됩니다. 그리하여 이 프로세스를 구동시키는 계정이
뚤려도 IIS에서 다시 보안 정책을 걸어줄 수가 있는 것입니다.

userName을 System으로 잡아주면 해당 머신의 로그인 계정으로 실행이 됩니다.
기존의 COM Interop시, 또는 .NET Data Provider for Oralce을 사용할 때는
System으로 설정해주셔야 합니다.
단순한 배포작업시에는 기본값인 machine으로 설정해도 되지만 정식님의 경우는
COM Interop 또는 Oracle 서버 연결 아니면 그외 예외사항이 있는 것으로
생각됩니다.

감사합니다.
Microsoft Community Support Group
조성우


"곽정식" <jskw...@dku.edu> wrote in message
news:OiM3BOEnCHA.2204@TK2MSFTNGP09...

0 new messages