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

标签 signalr signalr-hub signalr.client

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

我做了一些测试:

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

        console.log('started');

});

这总是按预期在控制台中“开始”。所以客户端和服务器是连接的。但是当我发送任何数据(如登录凭据)时,我没有收到任何回复。

这是连接框架图像。如您所见,客户端正在向服务器发送数据,但没有收到任何响应。

enter image description here
public override Task OnConnected()
{

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

}

客户端监听方法:
hub.client.listen = function (response) {

    console.log('Listen', response);

}

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

编辑:

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

编辑2:

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

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

最佳答案

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

IIS 问题

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

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

SignalR is supported on IIS 7.0 and 7.5, but support for extensionless URLs must be added. To add support for extensionless URLs, see https://support.microsoft.com/kb/980368

SignalR requires ASP.NET to be installed on the server (ASP.NET is not installed on IIS by default). To install ASP.NET, see ASP.NET Downloads.

关于SignalR 客户端服务器已连接但未将数据推送到生产服务器上的客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53369265/

相关文章:

signalr - 如何在 hubpipleline 之外使用 SignalR hub 实例

javascript - SignalR 2.0 - 无需代理即可访问集线器

SignalR:协商请求期间出错:未定义

reactjs - 在 react 中使用 signalR 时从方法中删除订阅的处理程序

c# - 在 SignalR Hub 上使用泛型方法

signalr - 如何维护服务器集线器可以调用的客户端方法列表?

c# - 无法在 .NET SignalR 客户端 HubConnection(dotnet 核心/signalr 2.2)上设置连接超时

c# - 使用 webAPI Bearer Token 的 SignalR 身份验证

redis - 为什么 SignalR.Redis 在 NuGet 上不可用?

java - signalR javascript运行时对象不支持属性