Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 信号机核心打开连接两次_Asp.net Core_Signalr_Asp.net Core Signalr - Fatal编程技术网

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答案的评论了吗