Pregunta

Quiero implementar un sistema de notificación como Facebook en ASP.NET MVC 3: Las notificaciones se envían a un usuario específico para notificarlo para una acción en uno de sus artículos.

¿Se adapta a SignoR para tales requisitos? ¿Cómo podría enviar una notificación a un usuario específico (todas las sesiones abiertas de este usuario) usando Signalr?

editar

OK, aquí lo que hice

en el lado del cliente

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

});

en el lado del servidor

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

y cada vez que necesito notificar a un usuario en el controlador Hago lo siguiente:

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

¿Fue útil?

Solución

Es apropiado para este o use el sondeo, esas son las dos opciones.

Heres un video nuevo de hoy en esto:

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

Otros consejos

Sí, Signalr es una buena opción para eso.Eche un vistazo a la documentación con respecto a los centros ( servidor y js cliente ).

Debe implementar la lógica del servidor para asociar la sesión de su cliente con la sesión de Signalr.Puede usar grupos para notificar todas las sesiones abiertas de cada usuario.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top