如何让SignalR hub对象为wcf服务创建双工通道?

时间:2013-10-17 07:14:42

标签: asp.net ajax wcf signalr signalr-hub

您好我们正在开发一个Web应用程序。我们在会话中存储值以进行状态维护。它有用户权限和窗口的服务连接对象等。现在我们需要从服务器端更新客户端。我使用DuplexChannelFactory进行双向通信 Windows服务和Web服务器我也使用SignalR进行Web服务器和浏览器的双向通信。我使用相同的hub对象来创建DuplexChannelFactory。这对我来说可以。但现在我的问题是我需要将该通道存储到会话中以进行窗口和Web服务器的状态维护。但我无法在Web服务器中获取集线器对象。那么请帮助我获取hub对象来创建Duplex通道以及如何将此对象存储到会话中?想要你宝贵的建议......

1 个答案:

答案 0 :(得分:1)

您无需创建实际的Hub对象。 SignalR允许您通过IHubContext访问Hub本身以外的Hub客户端。

您可以使用GlobalHost.ConnectionManager.GetHubContext<T>()获取IHubContext。

请参阅this API guide中的“如何调用客户端方法并管理来自Hub类外部的组”部分以了解详情。