2011-03-03 1 views
5

위해 필요 : 나는 업데이트 할 때"는 ASP 닷넷 호환성을 필요로하기 때문에 서비스를 활성화 할 수 없습니다",하지만 난 가장

WCF service not impersonating specified user in config? 내가 aspnetCompatibilityMode을 활성화하지만 내 서비스 프록시는 "asp net 호환성이 필요하기 때문에 서비스를 활성화 할 수 없습니다"라고 말합니다. 나는 이것이 무엇을 의미하는지 완전히 모르겠습니다. AspNetCompatibilityRequirementsMode.Allowed로 설정을 변경하면 가장 (impersonation)이 활성화되지 않습니다. web.config뿐만 아니라 class 속성을 통해 설정을 활성화하려고했습니다.

내 서비스의 앱 풀이 내가 필요한 사용자로 실행되도록 설정하지 않으면이 방법이 있습니까? 감사.

+0

web.config에서도 호환 모드를 활성화 했습니까? –

+0

나는 둘 다하지 않았다. 서비스의 web.config 나 클래스 자체에서 활성화했습니다 (내 사이트의 web.config에서 아무 것도 변경하지 않았습니다). –

답변

12

당신은 사이트 서비스를 호스팅의 Web.config에 AspNetCompatibility 설정해야합니다 :

<system.serviceModel> 
    ... 
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/> 
</system.serviceModel> 

당신은 당신이 당신의 서비스 클래스를 표시해야합니다 ASP.NET에 대한 서비스 구현에 의존하기 때문에 :

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)] 

AspNetCompatibilityRequirements.RequirementMode의 기본값은 NotAllowed입니다. 따라서 가장 예외적 인 이유가 될 수 있습니다.