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

本文关键字:会话 调用 NET WCF ASP | 更新日期: 2023-09-27 18:32:59

我正在尝试做一个WCF网络服务来向客户端发布一些数据。客户端在访问数据之前必须进行身份验证,因此我创建了一个身份验证方法,该方法设置了一些会话变量。当我尝试以另一种方法访问此会话变量时,它们始终为 NULL(我尝试过使用 WCF 测试客户端和一个小的 Winforms 测试客户端)。

我已经设置了aspNetCompatibility Enabled="true"我的web.config,并将属性添加到我的服务类[AspNetCompatibility Requirements(RequirementsMode = AspNetCompatibility RequirementsMode.Required)]

此测试:

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

始终引用空会话变量...

我错过了什么?

谢谢

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

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

下面是一个示例:

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