2011-03-03 24 views
5

我昨天張貼的問題有關如何啓用模擬在這裏使用WCF服務:WCF service not impersonating specified user in config?「的服務無法啓動,因爲它需要ASP.NET的兼容性」,但我需要它模擬

我啓用aspnetCompatibilityMode但是當我更新我的服務代理,它說「該服務無法激活,因爲它需要asp網絡兼容性」。我不完全確定這是什麼意思。如果將設置更改爲AspNetCompatibilityRequirementsMode.Allowed,則不會啓用模擬。我嘗試啓用web.config中的設置以及通過class屬性。

有沒有辦法解決這個問題,而不需要將我的服務的應用程序池作爲我需要的用戶來運行?謝謝。

+0

您是否在web.config中啓用了兼容模式? – 2011-03-03 12:25:54

+0

我還沒有做過。我已經在服務的web.config或類本身啓用它(我沒有改變我的網站的web.config中的任何東西)。 – 2011-03-03 12:28:55

回答

12

您必須在網站上放置服務的web.config打開AspNetCompatibility:

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

因爲你正在你的服務實現依賴於ASP.NET你應該標記您的服務類:

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)] 

AspNetCompatibilityRequirements.RequirementMode的默認值爲NotAllowed,這很可能是您的例外原因。

相關問題