我正在嘗試編寫一些單元測試,測試我的WCF服務的端點,並執行此操作我希望在單元測試本身而不是IIS中承載服務。我發現this article,我已經讀過並做了更改,因此我使用ServiceHost
託管它,我可以看到單元測試正在嘗試運行它,但似乎遇到了一些問題。使用ServiceHost在單元測試中託管WCF服務
當我運行測試,我得到以下錯誤在打開服務點:
此服務需要ASP.NET 兼容性,必須 IIS託管。任一主機與ASP.NET兼容性IIS 服務web.config中開啓 或設置 AspNetCompatibilityRequirementsAttribute.AspNetCompatibilityRequirementsMode 屬性比 所需的其他值。
這是由以下屬性造成了我的服務類設置:
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
我已經然後嘗試添加以下到我的app.config,但它似乎並沒有任何區別:
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
</system.serviceModel>
任何想法如何能通過這個問題?
這很容易解決:只是刪除e ASP.NET兼容性要求。不,認真:你應該。 – 2011-04-26 13:03:15
最後我做到了,只是刪除了屬性。我擔心我不知道它首先出現在那裏的確切原因,但我想這就是爲什麼我們要進行單元測試,CI和每晚構建! :) – Penfold 2011-04-27 21:00:06
當你開始缺少'HttpContext'時,你會需要它;)當然,自託管不在窗口中! – 2012-10-31 19:03:58