【问题标题】:WCF Service + ASP .NET MVC application. Session expires after callback from the serviceWCF 服务 + ASP .NET MVC 应用程序。从服务回调后会话过期
【发布时间】:2015-08-06 10:35:48
【问题描述】:

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

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

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

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

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

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

此外,我如何知道我何时收到了回调?我是否必须使用事件处理程序或以某种方式从该方法调用控制器/视图?

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

附: WCF 服务中的会话设置为必需。

【问题讨论】:

    标签: asp.net wcf session callback null


    【解决方案1】:

    这不会按照您设计的方式工作。为什么不这样做的几个原因:

    1. 您无法通过回调访问会话。
    2. 您不能直接从 ASP.Net MVC 应用程序调用客户端。

    您也必须寻找其他解决方案。我建议您查看 SignalR,或者如果您需要更简单的东西,请使用 DB 来存储来自客户端的数据和池。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-12
      • 2017-04-09
      • 2013-12-02
      • 2013-09-30
      相关资源
      最近更新 更多