본문 바로가기

IT/Web Programming

Xml Web Service 를 사용하기 위한 IIS 및 ASP.NET 2.0 설정


오류 : IIS 메타베이스에 액세스하지 못했습니다. 

설명: 현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 발생했습니다. 

스택 추적을 검토하여 발생한 오류 및 코드에서 오류가 발생한 위치에 대한 자세한 정보를 확인하십시오. 

예외 정보: System.Web.Hosting.HostingEnvironmentException: IIS 메타베이스에 액세스하지 못했습니다. 

ASP.NET을 실행하는 데 사용되는 프로세스 계정에는 IIS 메타베이스(예: IIS://servername/W3SVC)에 대한 읽기 권한이 있어야 합니다. 메타베이스 권한을 수정하는 데 대한 자세한 내용은 http://support.microsoft.com/?kbid=267904를 참조하십시오. 소스 오류: 현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 생성되었습니다. 아래의 예외 스택 추적을 사용하여 예외의 원인 및 위치 정보를 확인할 수 있습니다. 스택 추적: [HostingEnvironmentException: IIS 메타베이스에 액세스하지 못했습니다.] System.Web.Configuration.MetabaseServerConfig.MapPathCaching(String siteID, VirtualPath path) +3492154 System.Web.Configuration.MetabaseServerConfig.System.Web.Configuration.IConfigMapPath.MapPath(String siteID, VirtualPath vpath) +9 System.Web.Hosting.HostingEnvironment.MapPathActual(VirtualPath virtualPath, Boolean permitNull) +163 System.Web.CachedPathData.GetConfigPathData(String configPath) +382 System.Web.CachedPathData.GetConfigPathData(String configPath) +243 System.Web.CachedPathData.GetApplicationPathData() +68 System.Web.CachedPathData.GetVirtualPathData(VirtualPath virtualPath, Boolean permitPathsOutsideApp) +3385663 System.Web.Configuration.RuntimeConfig.GetLKGRuntimeConfig(VirtualPath path) +189 

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


해결방법 aspnet_regiis.exe 도구를 사용하시면 됩니다.

aspnet_regiis.exe 는 windows폴더에 microsoft.net 폴더 아래에 있구요. 

cmd에서 해당 경로를 찾아가서 아래와 같이 입력합니다. 

 aspnet_regiis.exe -ga iwam_계정이름(컴퓨터이름) 예)C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe 

그러면 iis메타베이스에 대한 접근 권한을 iwam 계정이 갖게 됩니다. 

iwam계정은 iis 프로세스를 시작시키기 위한 식별자 계정입니다. 

그리고 나서 iis 를 여시고 등록정보 중에 http 헤더부분을 보시면 사용자지정 헤더부분에 X-Powered-By:APS.NET 이라고 있는지 확인 하신 후에 없으면 다시 aspnet_regiis.exe를 여시고 aspnet_regiis -i 돌아가는지 확인 안되면 aspnet_regiis -e aspnet_regiis -i 돌아가는지 확인.