javascript - 已创建信号集线器但服务器 OnConnected() 无法正常工作
问题描述
使用从 nuget 安装的 Signalr 版本 2.2.2。作为启动代码
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
ConfigureAuth(app);
app.MapSignalR();
}
}
Hub.cs 文件是
public class MyChatHub : Hub
{
private IUserService _userService;
private IMessageService _messageService;
public MyChatHub(IUserService userService,IMessageService messageService)
{
_messageService = messageService;
_userService = userService;
}
public override Task OnConnected()
{
var userID = Context.QueryString["UserId"];
if (userID != null)
{
Guid uId = Guid.Parse(userID);
_userService.SaveUserOnlineStatus(new OnlineUsers { UserId = uId, ConnectionID = Context.ConnectionId, IsOnline = true });
//RefreshOnlineUsers(uId);
}
return base.OnConnected();
}
我的 js 文件是
var chat = $.connection.myChatHub;
$.connection.hub.start();
$.connection.hub.disconnected(function () {
setTimeout(function () {
$.connection.hub.start();
}, 5000); // Restart connection after 5 seconds.
});
解决方案
推荐阅读
- django - DoesNotExist at /accounts/twitter/login/ SocialApp 匹配查询不存在
- html - 视口不采用移动 CSS
- python - 如何从 Pandas sav 中删除标题?
- python - 读取 Python 中的大 Json 并以切片为样本
- svg - SVG 剪贴路径填充图像
- node.js - 雪花 Nodejs 绑定
- r - InfoBox 不与 Shiny 中的服务器通信
- javascript - 如何通过将事件从一个组件发送到另一个组件来传递布尔值 - vue
- c++ - 链接时未定义的参考错误 - Makefile 并包含已配置
- php - 生成在 3 天内过期的 URL 的最佳方法是什么?