【问题标题】:SignalR client server connected but not pushing data to client on production serverSignalR 客户端服务器已连接但未将数据推送到生产服务器上的客户端
【发布时间】:2018-11-19 06:19:06
【问题描述】:

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

我做了一些测试:

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

        console.log('started');

});

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

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

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 如果这有帮助。

EDIT2:

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

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

【问题讨论】:

  • 你能分享最小的视觉工作室解决方案来重现这个问题吗?使用 SignalR 2.0 对我来说工作正常
  • 请提及您的生产服务器,是 IIS 还是 Azure App Service 或 Azure SignalR Services?
  • @AzazulHaq 无
  • 那么我应该对所提到的服务器进行什么假设。 “它在生产服务器上不起作用”
  • 要考虑的两件事:您的缩小是否有可能重命名生产服务器中的侦听回调?您的生产服务器是否启用了 WebSockets?

标签: signalr signalr-hub signalr.client


【解决方案1】:

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

IIS 问题

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

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

IIS 7.0 和 7.5 支持 SignalR,但必须添加对无扩展 URL 的支持。添加对无扩展的支持 网址,见https://support.microsoft.com/kb/980368

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-26
    相关资源
    最近更新 更多