SignalR客户端服务器已连接但未将数据推送到生产服务器上的客户端

Wal*_*eed 6 signalr signalr-hub signalr.client

我使用SignalR开发了一个Web应用程序,它在我的开发服务器上完美运行.但由于一些未知的原因,它不适用于生产服务器.

我做了一些测试:

$.connection.hub.start().done(function () {

        console.log('started');

});
Run Code Online (Sandbox Code Playgroud)

这总是按照预期在控制台中"启动".所以客户端和服务器是连接的.但是,当我发送任何数据,如登录凭据时,我没有收到任何回复.

这是连接帧图像.正如您所看到的,客户端正在向服务器发送数据但未收到任何响应.

在此输入图像描述

public override Task OnConnected()
{

        Clients.All.Listen("Connected to HUB");

}
Run Code Online (Sandbox Code Playgroud)

客户端侦听方法:

hub.client.listen = function (response) {

    console.log('Listen', response);

}
Run Code Online (Sandbox Code Playgroud)

有一个我用来调试的Listen方法.这不会打印任何东西.所以信号器客户端服务器没有连接.

编辑:

报告的问题在这里:https://github.com/SignalR/SignalR/issues/4279如果这有帮助.

EDIT2:

我的webapp是一个Vue js 2应用程序.我使用vue-cli编译并上传到服务器.我的signalr.js文件是从ASP.NET MVC项目复制的.

我使用SignalR 2.4制作了一个测试ASP.NET MVC 5应用程序,我能够在实时服务器上进行通信.

Hai*_*n.Z 0

https://learn.microsoft.com/en-us/aspnet/signalr/overview/testing-and-debugging/troubleshooting

IIS 问题

本节包含有关 Internet 信息服务的问题。

SignalR 适用于 Visual Studio 开发服务器,但不适用于 IIS

IIS 7.0 和 7.5 支持 SignalR,但必须添加对无扩展名 URL 的支持。要添加对无扩展名 URL 的支持,请参阅https://support.microsoft.com/kb/980368

SignalR 要求服务器上安装 ASP.NET(默认情况下 IIS 上未安装 ASP.NET)。要安装 ASP.NET,请参阅 ASP.NET 下载。