SignalR ASP.NET



我在从应用程序接收消息时遇到问题,因为有时有效但并非总是如此,我必须 F5 端才能恢复工作。任何想法可能是什么?

正确的消息:

[19:15:27 GMT+0100 (Środkowoeuropejski czas stand。信号R:调用问题。发送消息 jquery.signalR-2.2.0.min.js:8 [19:15:27 GMT+0100 (Środkowoeuropejski czas stand.)]SignalR:调用的问题。发送消息 jquery.signalR-2.2.0.min.js:8 [19:15:27 GMT+0100 (Środkowoeuropejski czas stand.)]SignalR:在中心"问题"上触发客户端中心事件"newMessage"。 游戏控制器.js:19 2d856458-6874-44a9-a402-37ab6ca61cec: 你好

不正确的消息(无应答):

[19:15:51 GMT+0100 (Środkowoeuropejski czas stand。信号R:调用问题。发送消息 jquery.signalR-2.2.0.min.js:8 [19:15:51 GMT+0100 (Środkowoeuropejski czas stand.)]SignalR:调用的问题。发送消息

 $(function () {
        $.connection.hub.logging = true;
        $.connection.hub.start();
    });
    $.connection.hub.error(function (err) {
        alert("error: " + err);
    });
    angular.module('app').value('gameHub', $.connection.question);

在 CTRL 中

 $scope.sendMessage = function () {
        gameHub.server.sendMessage($scope.message);
}
gameHub.client.newMessage = function onNewMessage(message) {
    $scope.messages.push({message: message});
    $scope.$apply();
    console.log(message);
}

由于 SignalR 用于实时应用程序,它会在其他人发送后立即向您发送消息,同时如果您在另一个没有连接集线器的页面上,那么可能有两种情况

1)如果您通过HTML或其他内容附加了消息,那么当您返回同一页面(聊天)时,由于页面刷新,消息将被删除。

-溶液

you can try saving messages to database so that when you get back you can 
retrieve you chat

2) 集线器可能断开连接

so you should try using OnConnected(), OnDisconnected(), & On ReConnected() methods.
  • PS signalR 在用户关闭选项卡/浏览器或用户刷新页面时触发 OnDisconnected() 方法

最新更新