javascript - 信号R ASP.NET

标签 javascript asp.net angularjs signalr

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

正确的信息:

[19:15:27 GMT+0100 (Środkowoeuropejski czas stand.)] SignalR: Invoking question.SendMessage jquery.signalR-2.2.0.min.js:8 [19:15:27 GMT+0100 (Środkowoeuropejski czas stand.)] SignalR: Invoked question.SendMessage jquery.signalR-2.2.0.min.js:8 [19:15:27 GMT+0100 (Środkowoeuropejski czas stand.)] SignalR: Triggering client hub event 'newMessage' on hub 'question'. gameController.js:19 2d856458-6874-44a9-a402-37ab6ca61cec: hello

不正确的消息(没有回答):

[19:15:51 GMT+0100 (Środkowoeuropejski czas stand.)] SignalR: Invoking question.SendMessage jquery.signalR-2.2.0.min.js:8 [19:15:51 GMT+0100 (Środkowoeuropejski czas stand.)] SignalR: Invoked question.SendMessage

 $(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.
  • 附言signalR 在用户关闭选项卡/浏览器或刷新页面时触发 OnDisconnected() 方法

关于javascript - 信号R ASP.NET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35527177/

相关文章:

javascript - 等效于没有动画的 Window.scrollTo()?

javascript - 如何等待函数中的获取函数?

javascript - webpack 4 - 模块解析失败 : Unexpected character '�' (1:0) on simple JS file

javascript - 如何检查列表框项目是否被选中?

javascript - 从另一个嵌套 Controller 调用函数

javascript - 如何在javascript中将文本区域分割成多个部分

c# - 在 ASP.NET C# 中解析 json 文件

c# - 过滤后如何将位置应用于节点

javascript - AngularJs 在模式中注入(inject)模板 html

javascript - 从另一个 Controller Angularjs 调用函数