在WCF中使用ASP.NET会话=会话丢失每次调用

时间:2014-12-03 11:43:39

标签: c# asp.net wcf session

我正在尝试使用WCF Web服务向客户端发布一些数据。客户端必须在访问数据之前进行身份验证,因此我已经创建了一个方法来进行身份验证,该方法设置了一些会话变量。 当我尝试在另一个方法中访问此会话变量时,它们总是为NULL(我已尝试使用WCF测试客户端和一些Winforms测试客户端)。

我已经设置 aspNetCompatibilityEnabled =“true”我的web.config并将属性添加到我的服务类 [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)] 。< / p>

这个测试:

if (HttpContext.Current.Session[CONST_SESSION_AUTHENTICATE] != null &&        (bool)HttpContext.Current.Session[CONST_SESSION_AUTHENTICATE] == true)

总是引用空会话变量...

我错过了什么?

由于

1 个答案:

答案 0 :(得分:1)

您如何致电您的服务?您必须使用相同的服务客户端对象并允许cookie。仅当客户端发回ASP .NET创建的cookie时,该会话才会起作用。

以下是一个例子:

http://stack247.wordpress.com/2011/03/09/enable-cookies-session-in-wcf-aspnetcompatibilityrequirements/