从多个数据库在 SignalR 中推送通知

Push Notifications in SignalR from multiple Databases

我对 SignalR 比较陌生,到目前为止,我所做的只是上面的示例聊天应用程序,以便入门。

我们有一个包含多个数据库的项目,它是一个机器数据收集应用程序。我在 ASP.NET MVC 中创建了一个 Web 控件,可以在一个地方查看多台机器的数据。

我们有多个用户,他们可以访问与其项目相关的机器。当前解决方案在 mvc 页面上有一个 jQuery 观察器,它在特定时间刷新机器控件。

我正在考虑将其作为推送通知解决方案。但由于我是 SignalR 的初学者,我不知道如何处理这个问题。

目标是通知用户用户有权访问的计算机(并非所有计算机)的数据更改。

另外,如何将消息从数据库服务器发送到 SignalR 以通知数据发生变化?

我需要一些指导才能开始这方面的工作。

SignalR Send 方法允许您向用户发送数据!它可以使用推送、框架、服务器事件或 websocket 技术。您的开发人员不关心该技术!这取决于服务器和客户端的握手。

您真正需要的是从数据库中检索数据,然后无后顾之忧地提供给用户

 // Server side: 
protected override Task OnConnected(IRequest request,  
                                 string connectionId) 
{ 
    var db = new allEntities();
    var db2 =new allEntities2();
    var data1 = db.Tables.Where(e=>e.LastUpdate<=datetime.now.AddDays(-1));
    var data2=db2.Tables.Where(e=>e.Something==someRef);
    var data=combine(data1,data2);//combine logic goes here
    return Connection.Send(connectionId, data.ToList()); 
}