2017-06-10 1 views
0

J'ai implémenté le mappage de stockage en mémoire dans mon projet MVC pour stocker l'ID utilisateur et son ID connexion connexe comme indiqué dans le lien de mappage ci-dessous. Le problème est que je ne suis pas en mesure d'accéder à l'instance de mappage dans l'autre classe côté serveur et envoyer une notification à un utilisateur particulier. Comment dois-je modifier la classe Hub ou SendNotification pour envoyer une notification. S'il vous plaît laissez-moi savoir comment le faire.SignalR - Comment accéder au mappage utilisateur dans une autre classe côté serveur pour envoyer des notifications à un utilisateur particulier

\\ here is the sample hub class with onconnected and disconnted same as in mapping link 
public class NotificationHub : Hub 
{ 
    private readonly static ConnectionMapping<string> _connections = new ConnectionMapping<string>(); 

    public void SendChatMessage(string who, string message) 
    { 
     string name = Context.User.Identity.Name; 

     foreach (var connectionId in _connections.GetConnections(who)) 
     { 
      Clients.Client(connectionId).addChatMessage(name + ": " + message); 
     } 
    } 
} 

\\ other server class where to call hub 
public class SendNotification 
{ 
    Public void SaveToDb(string userName, class entity) 
    { 
     // save to database call 
     // send Notification to User userName through SignalR if user Exists in Mapping 
    } 
} 

est ici un lien Mapping SignalR (https://docs.microsoft.com/en-us/aspnet/signalr/overview/guide-to-the-api/mapping-users-to-connections)!

Voici comment accéder au concentrateur extérieur (https://docs.microsoft.com/en-us/aspnet/signalr/overview/guide-to-the-api/hubs-api-guide-server#callfromoutsidehub)!

Répondre