使用Signalr拥有类似facebook的通知系统

hic*_*chn 11 asp.net push-notification asp.net-mvc-3 signalr

我想在ASP.NET MVC 3中实现类似facebook的通知系统:将通知发送给特定用户以通知他对其中一个项目的操作.

信号灯适合这种要求吗?如何使用SignalR向特定用户(此用户的所有已打开会话)发送通知?

编辑

好的,这就是我做的

在客户端

$(function () {
// Proxy created on the fly
var chat = $.connection.chat;
var username = '@Html.ViewContext.HttpContext.User.Identity.Name';
// Declare a function on the chat hub so the server can invoke it
chat.addMessage = function (message) {
     $('#messages').append('<li>' + message + '</li>');
};
// Start the connection
$.connection.hub.start(function (){
    chat.join(username);
});

});
Run Code Online (Sandbox Code Playgroud)

在服务器端

public class Chat : Hub
{
    public void Join(string username)
    {
        AddToGroup(username);
    }
}
Run Code Online (Sandbox Code Playgroud)

每次我需要通知控制器中的用户时,我会执行以下操作:

IConnectionManager connectionManager = AspNetHost.DependencyResolver.Resolve<IConnectionManager>();
dynamic clients = connectionManager.GetClients<Chat>();
clients[username].addMessage("test");
Run Code Online (Sandbox Code Playgroud)

Ada*_*SFT 2

适合这个或者你使用轮询,这是两个选择。

这是今天的一个全新视频:

http://channel9.msdn.com/Shows/Web+Camps+TV/Damian-Edwards-and-David-Fowler-Demonstrate-SignalR?utm_source=dlvr.it&utm_medium=twitter