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 信令集线器重复连接POST请求_Asp.net Core_Signalr_Asp.net Core Signalr - Fatal编程技术网

Asp.net core 信令集线器重复连接POST请求

Asp.net core 信令集线器重复连接POST请求,asp.net-core,signalr,asp.net-core-signalr,Asp.net Core,Signalr,Asp.net Core Signalr,我有一个使用Signal的asp.net core 3.1 web应用程序,我遇到来自web客户端的奇怪重复请求,例如: 我不知道为什么会发生这种情况,因为客户端没有任何代码会导致这种情况。我也问过我的用户,他们也没有报告任何奇怪的事情(例如浏览器自动刷新)。我希望有人看到过类似的事件,或者知道调试这个的最好方法是什么 更新1: 我尝试了警队长时间的投票策略,但无法在本地重新处理问题 我添加了一些额外的日志变量,显然主体是空的,但是所有奇怪的请求都来自Linux上运行的Chromes。我想是时

我有一个使用Signal的asp.net core 3.1 web应用程序,我遇到来自web客户端的奇怪重复请求,例如:

我不知道为什么会发生这种情况,因为客户端没有任何代码会导致这种情况。我也问过我的用户,他们也没有报告任何奇怪的事情(例如浏览器自动刷新)。我希望有人看到过类似的事件,或者知道调试这个的最好方法是什么

更新1:

我尝试了警队长时间的投票策略,但无法在本地重新处理问题


我添加了一些额外的日志变量,显然主体是空的,但是所有奇怪的请求都来自Linux上运行的Chromes。我想是时候启动一个虚拟机了……

您的客户端是否可能没有可用的Web套接字或服务器发送事件协议,并且正在使用长轮询回退,执行此功能

如果您临时创建更详细的日志以查看发送了哪些Json属性名,您可能会看到它是否类似于hub方法调用消息。或者,您也可以尝试记录用户代理标头,以检查请求客户端的浏览器是否支持这些协议

更新:

或者,您可以使用下面的代码测试在本地服务器上轮询传输请求的时间

var connection = new signalR.HubConnectionBuilder()
.withUrl("/chatHub", signalR.HttpTransportType.LongPolling).build();

正如Brennan所提到的,在我的本地文件中,type:6是ping请求

调用如下所示:


客户端正在定期发送ping。但是,在使用LongPolling时不需要这样做,这在5.0.0中已经修复

我发现了问题(或至少是这个问题):


如果您没有在web应用程序配置中启用WebSocket,那么您显然不会有WebSocket。。。因此,正如我在上面的“更新1”中添加的,所有奇怪的请求都来自Linux用户的Chrome。linux上的websockets是否可能因某种原因被禁用?@TamásDeme抱歉,我为您提供了错误的ASP.NET Core 3.1代码示例,如果您使用它,这可能是您的本地版本不一样的原因,更新了答案,对不起,控制台中的俄语。当您尝试时,请确保在“缓存突发”关闭时禁用缓存,我在测试代码时忘记了这一点:)奇怪的是,没有内容,要确定浏览器中是否有Web套接字,我们可能需要浏览器版本号,您保存了吗?bummer--我的没有关闭。在旁注上,确保
AAR Affinity
也处于启用状态