【发布时间】:2013-12-29 17:49:00
【问题描述】:
在之前的解决方案中,我记得为单元测试设置了代码隐藏型集线器连接。我相信我使用了来自previous SignalR Hubs C# Client GitHub wiki 的代码。
SignalR Hubs API guide 中有一个使用基于控制台的客户端的示例:
stockTickerHubProxyProxy.On("Notify", () => Console.WriteLine("Notified!"));
在即将推出的应用程序中,将向多个客户端推送通知。其中一些客户端将基于 UI (JS),而其他客户端将是一些将执行某些任务的后端代码。
我熟悉基于 JS 的客户端连接。我的问题围绕附加代码隐藏类型的客户端,以及他们的方法如何“通知”。
我了解对于基于 UI 的客户端,其机制是通过对客户端“方法”的动态调用将更新推送到客户端。自从我接触 SignalR 以来已经有几个月了,在不涉及 UI 的情况下,最好的方法是什么?
为了验证我是否正确理解了文档,当使用 valid transport method 时,会通过 SignalR 框架通知(推送)C#-based (non UI/JS) client - 不需要客户端轮询?
【问题讨论】:
-
我知道您所说的项目,您正在寻找的功能更像是 Group Notifications。一条数据在哪里广播给所有客户端?那么客户显然对数据所做的事情将取决于您的实施。我理解正确吗?
-
基本上,是的。我没有考虑将客户端组织成组,但是,这是一个很好的抽象级别(如果需要)。假设我从 UI 更新了一个对象属性。来自中心的 updateWidget() 调用将通知所有其他 UI 客户端。我不想让一些轮询类型的侦听器检查一些更新的数据库字段,而是希望有一个代码隐藏类型的客户端,它在执行更新时会做一些事情。
-
@Greg - 看起来该示例通过 JavaScript 使用基于 UI 的组通知机制。我正在寻找的是一个基于 C# 的客户端,它对通知执行某些操作。我更新了问题的开头以反映这一点。
标签: c# .net-4.5 signalr-hub