0

我想在 silverlight LOB 应用程序中实现 SignalR(使用 caliburn micro)。客户端由用户动态加载的许多模块组成。

在一个模块中,我可以有许多活动的视图模型,每个视图模型都需要访问不同的集线器。

我确实阅读了有关 SignalR 的所有文档(http://www.asp.net/signalr/overview/hubs-api/hubs-api-guide-net-client)但我仍然对如何使用 Signalr 感到困惑单页应用程序。

我知道我的应用程序中只能有一个连接,所以我需要在我的引导程序中创建它。我创建了一个服务来保存集线器连接单例。因为我需要在调用 start() 之前创建代理,所以我从我的服务器获取所有已知集线器的列表并为每个集线器创建一个代理。然后将代理存储在字典中,以便能够将它们提供给任何视图模型。虚拟机将共享同一个代理实例,这是一个问题吗?

这是在 NO 单页应用程序中使用信号器的方法吗?

我不确定我的信号器应用程序设计,所以如果有人可以分享他/她的经验,我将不胜感激

谢谢

4

1 回答 1

0

由于您没有首先创建集线器(由 SignalR 处理),因此没有理由在页面之间传递显式句柄。每当您需要集线器时(即从集线器类本身外部访问集线器时),您可以像这样得到它:

GlobalHost.ConnectionManager.GetHubContext();

于 2013-07-17T17:41:32.953 回答