2010-03-25 3 views
2

IIS 7.5에서 ELMAH를 사용하는 WCF (.Net 3.5) 사이트에 문제가 있습니다. 이 예외 메시지입니다 :WMA 프로젝트에 ELMAH를 추가 한 후 SecurityException이 발생했습니다.

System.Security.SecurityException: Request for the permission of type 'System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed. 

그것은 IIS7.5에서 WCF와 ELMAH의 조합되었는지 확인하려면, 내가 VS2008에서 새로운 WCF 서비스 프로젝트와 IIS 7.5 사이트에 새 응용 프로그램을 만들었습니다. 나는 그것을 출판했고 그것이 괜찮 았는지 확인했다. 그런 다음 ELMAH DLL을 추가했습니다. 여전히 괜찮아. 그런 다음 ELMAH configSection 참조를 Web.config에 추가합니다. 여전히 괜찮아. 그런 다음 ELMAH 항목을 system.web의 httpHandlers 및 httpModules에 추가했습니다 (예, 7.5에 해당하지 않음). 여전히 괜찮아. 그리고 나서 이것을 system.webServer의 핸들러와 모듈에 추가했습니다.

<handlers> 
    : 
    <add name="Elmah" verb="POST,GET,HEAD" 
     path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" /> 

<modules> 
    : 
    <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/> 
    <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" /> 
    <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" /> 

그리고 보안 예외가 있습니다. 다른 설정을 변경하지 않았습니다.

모든 것이 VS dev 웹 서버를 사용하여 작동합니다. 개발 시스템은 VS 2008 SP1이 설치된 2008 R2 x64입니다. WCF 서비스는 원래 프로젝트이므로 x86 용으로 작성되었습니다. ELMAH는 .Net 3.5 x86 버전입니다. IIS7.5 응용 프로그램 풀은 32 비트를 허용하도록 설정됩니다.

내가이 작업을 수행하기 위해 필요한 모든 아이디어?

답변

0

가상 웹 디렉터리에 대한 IIS 관리자에서 관리되는 처리기 추가로 이동해야합니다.

  • 요청 경로는 다음과 같습니다 elmah.axd
  • 유형이 될 것입니다 : Elmah.ErrorLogPageFactory, Elmah
  • 이름 : Anything you want it to be identified with.

참고 :이 설정은 비주얼 스튜디오의 변경 사항을 게시 할 때마다 제거됩니다. 그래서 다시 추가해야합니다.

2

제 경우에는 "사용자 프로필로드 = true"를 설정해야 응용 프로그램 풀에서 제대로 작동합니다.

단계 :

응용 프로그램 풀 목록에서

, 고급 설정, 프로세스 모델 섹션으로 이동 "로드 사용자 프로필"을 "true"로 설정합니다.

+0

+1 이것은 ELMAH를 사용하는 IIS 7의 .Net 3.5 프로젝트에서 저에게 효과적이었습니다. – GregL

관련 문제