0

我正在为 Intranet 设计一个网站,我将使用 signalR 将数据推送到特定的客户端(浏览器)。

我知道在 ASP.NET MVC4 中,每个连接到服务器的客户端都会创建一个新对象,即控制器类的一个新实例。但是,如何在 c# 中“寻址”特定的控制器实例,以便将新数据发送到特定的客户端。

4

1 回答 1

0

你没有。

在 SignalR 中,您使用ClientId发送到特定客户端。您没有针对Controller. 您的网站只是所有这些的主机。它不关心您的具体实现(例如单个客户端的单个控制器的存在)。

因此,如果您想发送给特定用户,您可以ClientId在您的 中跟踪他们Hub,并将数据推送到该客户端。或者,如果没有持久连接,您可以让客户端生成一个令牌来跟踪它们。

我很确定 SignalR 的较新版本允许您控制ClientId生成的方式。这允许您在没有持久连接的情况下随心所欲地跟踪它(因为ClientId没有持久连接的每个连接都会有所不同)。

于 2013-08-10T13:32:34.983 回答