2009-10-20 108 views
1

如何與wcf會話共享我的asp.net會話。使用WCF會話共享ASP.NET會話狀態

說我在我的asp.net應用程序中有一個Session [「UserId」]。我想在WCF Signature中訪問它。 我在WCF的Webconfig & [ServiceContract(SessionMode=SessionMode.Required)]中啓用了aspNetCompatibilityEnabled =「true」。 我不想將此會話作爲參數傳遞。 我該如何做到這一點?

回答

2

您不能與WCF實例共享ASP.NET會話,因爲它們位於不同的應用程序域中,並且可能位於不同的計算機上。

這是關於Instance Context Sharing的一篇很好的文章,它將幫助您在WCF中使用「持久會話」。然後這是一個通過線路傳遞共享數據的問題(或通過使用公共資源/數據庫等)

0

如果您在您的Web.config中將<serviceModel>添加到它,它將工作。

<serviceHostingEnvironment aspNetCompatibilityEnabled="true" /> 

它可能會降低性能。