我在从应用程序接收消息时遇到问题,因为有时有效但并非总是有效,我必须按 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/