如何與wcf會話共享我的asp.net會話。使用WCF會話共享ASP.NET會話狀態
說我在我的asp.net應用程序中有一個Session [「UserId」]。我想在WCF Signature中訪問它。 我在WCF的Webconfig & [ServiceContract(SessionMode=SessionMode.Required)]
中啓用了aspNetCompatibilityEnabled =「true」。 我不想將此會話作爲參數傳遞。 我該如何做到這一點?
如何與wcf會話共享我的asp.net會話。使用WCF會話共享ASP.NET會話狀態
說我在我的asp.net應用程序中有一個Session [「UserId」]。我想在WCF Signature中訪問它。 我在WCF的Webconfig & [ServiceContract(SessionMode=SessionMode.Required)]
中啓用了aspNetCompatibilityEnabled =「true」。 我不想將此會話作爲參數傳遞。 我該如何做到這一點?
您不能與WCF實例共享ASP.NET會話,因爲它們位於不同的應用程序域中,並且可能位於不同的計算機上。
這是關於Instance Context Sharing的一篇很好的文章,它將幫助您在WCF中使用「持久會話」。然後這是一個通過線路傳遞共享數據的問題(或通過使用公共資源/數據庫等)
如果您在您的Web.config中將<serviceModel>
添加到它,它將工作。
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
它可能會降低性能。