Asp.net core 信号机核心打开连接两次
是否允许创建到同一集线器的两个连接?或者我应该使用相同的集线器连接Asp.net core 信号机核心打开连接两次,asp.net-core,signalr,asp.net-core-signalr,Asp.net Core,Signalr,Asp.net Core Signalr,是否允许创建到同一集线器的两个连接?或者我应该使用相同的集线器连接 var cnn1 = new signalR.HubConnection("/hub1"); cnn1.on("Method1", function(){}); cnn1.start().then(function() {cnn1.invoke("Something1");}); var cnn2 = new signalR.HubConnection("/hub1"); cnn2.on("Method2", function
var cnn1 = new signalR.HubConnection("/hub1");
cnn1.on("Method1", function(){});
cnn1.start().then(function() {cnn1.invoke("Something1");});
var cnn2 = new signalR.HubConnection("/hub1");
cnn2.on("Method2", function(){});
cnn2.start().then(function() {cnn2.invoke("Something2");});
创建2个
HubConnection
实例非常好。在这个简单的例子中,没有理由这样做,但我相信在某些情况下,您会希望这样做
请注意,您知道该连接可以注册多个
.on()
方法吗<代码>cnn1.on(“Method1”,function(){});on(“Method2”,function(){})代码>信号器2.0:多个集线器可以共享一个连接
是的,你能做到。但要注意服务器(IIS和浏览器)的限制
您的站点上可以有多个集线器共享一个连接。
SignalR 2.0经过更新,可以在一个signlar上处理多个集线器
没有性能损失的连接。”
您可以在以下问题中找到答案:
信号机核心:不支持每个连接有多个集线器
新版本的Signal不支持
每个连接有多个集线器。这将简化
客户端API,使应用身份验证策略和
其他中间件到集线器连接。除了订阅集线器
不再需要在连接启动之前使用方法
阅读有关信号机核心的更多信息:
备注:
有一次,我开始使用signalr 2.0的应用程序,我还计划使用多个连接。但由于浏览器的限制,我产生了一些奇怪的效果。浏览器确实限制了并行连接的数量。也许这不是一个在同一浏览器上打开多个浏览器实例的用例,但您应该知道是作为背景的。
如果打开10个相同浏览器类型的实例,您可以对此进行测试。然后,您可以看到并非所有实例都将创建连接。您应该使用相同的连接。仅出于堆栈溢出目的,示例很简单。但是在我的应用程序中,cnn1位于一个全局js文件中,该文件为每个资源加载,cnn2位于另一个脚本中,即l加载只是为了一个特定的重新操作。这就是为什么我问它是否可以,或者我是否应该重用同一个连接/创建第二个集线器。由于它仍然是alpha版本,所以还没有太多文档。正如我所说,可以使用任何一种方法。拥有两个连接可能会在客户端上分配更多资源,但可能会有更多吞吐量。不过,您必须对此进行测量。谢谢您的评论。您的评论对signalR 2.0有效,但它是否也适用于signalR core?这有点令人困惑。据我所知,每个连接不可能有多个集线器。我对同一集线器有两个连接。还是我错了?现在我明白了。对不起。但您为什么要告诉我们看到我对Brennan答案的评论了吗