我想在ASP.NET MVC中实现一个Facebook等通知系统3:通知发送给特定用户,以通知他在他的一个项目上的动作。

是适合此类要求的信号? 如何使用信号传送特定用户(所有打开的此用户的会话)发出通知?

编辑 好的,在这里我做了什么

在客户端

$(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);
});

});
.

在服务器端

public class Chat : Hub
{
    public void Join(string username)
    {
        AddToGroup(username);
    }
}
.

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

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

有帮助吗?

解决方案

适用于此或使用轮询,这些是两种选择。

Heres来自今天的全新视频:

http://channel9.msdn.com/shows/web+camps+tv/damian-edwards-and-david-fler-demonstrute-signalrr?utm_source=dlvr.it& utm_medium=twitter

其他提示

是的,signalr是一个很好的选择。查看关于集线器的文档(服务器 js client )。

您需要实现服务器逻辑,以将客户的会话与信号态会话相关联。您可以使用组来通知每个用户的所有打开会话。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top