使用WCF会话共享ASP.NET会话状态

时间:2009-10-20 06:46:50

标签: wcf

如何与wcf会话分享我的asp.net会话。

说我的asp.net应用程序中有一个Session [“UserId”]。我想在WCF签名中访问它。 我在Webconfig&中启用了aspNetCompatibilityEnabled =“true”。 WCF中的[ServiceContract(SessionMode=SessionMode.Required)]。 我不想将此会话作为参数传递。 我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:2)

您无法与WCF实例共享ASP.NET会话,因为它们位于不同的应用程序域中,并且可能位于不同的计算机上。

这是一篇关于Instance Context Sharing的好文章,它将为您提供WCF中“持久性会话”的一些方法。然后是通过网络传递共享数据(或使用公共资源/数据库等)的问题

答案 1 :(得分:0)

如果您在Web.config中的<serviceModel>下添加它,它将起作用。

<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />

它可能会略微降低性能。