WCF服务+ ASP .NET MVC应用程序。会话在服务回调后到期

时间:2015-08-05 13:57:58

标签: asp.net wcf session callback null

关于在ASP .NET mvc应用程序中使用WCF服务,我有以下问题。服务需要在客户端实现回调方法。为此,我使用wsDualHttpBinding。正在调用回调并收到正确的信息(使用制动点多次检查)。

问题在于我无法保存回调时收到的数据" SendComment"从WCF服务调用。回调方法定义:

public void SendComment(ChatComment cc) 
{ 
    Session["Message"] = cc; 
}

这是一种允许客户端(在asp.net中)接收从WCF服务广播到多个客户端的聊天消息的方法。

当我尝试从控制器方法访问Session [" Message"]时,在我收到回调后它的值为null。这是主要问题。我必须找到一种方法来保存它在当前会话上下文中可用的值。

此外,我无法在调用回调之前访问我保存的任何其他会话变量。它们总是空的。

除了我怎么知道我什么时候收到回调?我是否必须使用事件处理程序或以某种方式从此方法调用控制器/视图?

我已经尝试使用谷歌搜索答案,但没有一个解决方案明确说明在回调发生后如何访问该值。

P.S。会话在WCF服务中设置为必需。

1 个答案:

答案 0 :(得分:0)

这不会像你设计的那样工作。有几个原因:

  1. 您无法通过回调访问会话。
  2. 您无法直接从ASP.Net MVC应用程序调用客户端。
  3. 您也在寻找其他解决方案。我建议您研究SignalR,或者如果您需要更简单的东西,请使用DB来存储来自客户端的数据和池。