【发布时间】: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