使用SignalR(实时)从数据库获取更新的方法?

时间:2014-01-01 18:32:34

标签: c# asp.net-mvc signalr asp.net-mvc-5

有没有办法通过SignalR获取数据库的现有字段和新字段?

我想与MVC建立一个多聊天应用程序;我想在sql server数据库中存储所有消息......

数据的计划轮换将是client => sql server => client ...

这项技术是新的还是未知的,所以我找不到聪明的例子......

1 个答案:

答案 0 :(得分:2)

查看这篇文章,您应该能够在 OnReceivedAsync 方法上将所有收到的邮件保存到数据库。

http://visualstudiomagazine.com/articles/2013/01/22/build-a-signal-r-app-part-1.aspx

如果您需要将最后20条记录发送给任何特定用户或广播,您可以在从DB获取最后20条记录后使用以下语句。

Connection.Broadcast(chatData); // this will broadcast data to all connected clients.

protected override Task OnConnectedAsync(IRequest request, string connectionId)
{
    _clients.Add(connectionId, string.Empty);
    ChatData chatData = new ChatData("Server", "A new user has joined the room.");
    return Connection.Broadcast(chatData);
}