如何与wcf会话分享我的asp.net会话。
说我的asp.net应用程序中有一个Session [“UserId”]。我想在WCF签名中访问它。
我在Webconfig&中启用了aspNetCompatibilityEnabled =“true”。 WCF中的[ServiceContract(SessionMode=SessionMode.Required)]
。
我不想将此会话作为参数传递。
我怎样才能做到这一点?
答案 0 :(得分:2)
您无法与WCF实例共享ASP.NET会话,因为它们位于不同的应用程序域中,并且可能位于不同的计算机上。
这是一篇关于Instance Context Sharing的好文章,它将为您提供WCF中“持久性会话”的一些方法。然后是通过网络传递共享数据(或使用公共资源/数据库等)的问题
答案 1 :(得分:0)
如果您在Web.config中的<serviceModel>
下添加它,它将起作用。
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
它可能会略微降低性能。