我对SignalR比较陌生,到目前为止我所做的是开始使用示例聊天应用程序。
我们有一个包含多个数据库的项目,它是一个机器数据收集应用程序。我在ASP.NET MVC中创建了一个Web控件,以便在一个位置查看多台计算机的数据。
我们有多个用户,他们可以访问与其项目相关的计算机。当前的解决方案在mvc页面上有一个jQuery观察器,它在特定时间刷新机器控件。
我正在考虑将其作为推送通知解决方案。但由于我是SignalR的初学者,我不知道如何处理这个问题。
目标是通知用户用户有权访问的计算机的数据更改(并非所有计算机)。
另外,如何从数据库服务器向SignalR发送消息,通知数据发生变化?
我需要一些指导才能开始。
答案 0 :(得分:0)
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());
}