WCF 서비스의 끝점을 테스트하는 단위 테스트를 작성하려고하며 IIS 대신 단위 테스트 자체 내에서 서비스를 호스팅하려고합니다. 나는 ServiceHost
을 사용하여 호스트를 읽을 수 있도록 내가 읽었고 변경 한 내용이 this article 인 것을 발견했습니다. 단위 테스트를 실행하려고 시도하고 있지만 약간 문제가있는 것 같습니다. ServiceHost를 사용하여 Unit Test에서 WCF 서비스 호스팅하기
내가 테스트를 실행
, 나는 서비스를 여는 시점에서 다음과 같은 오류가 발생합니다 :이 서비스는 ASP.NET 호환성을 필요로하고 IIS에서 호스팅해야합니다. 어느 필수 이외의 값으로 Web.config의에서 켜거나 AspNetCompatibilityRequirementsAttribute.AspNetCompatibilityRequirementsMode 속성을 설정 ASP.NET 호환성 IIS 에서 서비스를 호스팅.
이
내 서비스 클래스를 설정하는 다음과 같은 속성에 의해 발생되는 :[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
그때 내의 app.config에 다음을 추가하려고했지만 어떤 변화를하지 않는 것 :
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
</system.serviceModel>
어떻게하면이 문제를 해결할 수 있습니까?
쉽게 해결하기 : 그냥 제거 ASP.NET 호환성 요구 사항. 아니요, 심각하게 말합니다. –
결국 나는 속성을 삭제했습니다. 나는 처음에 그곳에있는 정확한 이유를 모르겠다 고 우려했지만, 우리가 단위 테스트, CI 및 야간 빌드를 가지고있는 이유를 추측합니다 !!! :) – Penfold
'HttpContext'를 놓치기 시작할 때 다시 필요합니다;) 물론 자기 호스팅이 창 밖으로 나옵니다! –