Je suis dans une situation où un utilisateur peut modifier un programme de grille Excel en ligne. J'aimerais pouvoir afficher un message indiquant que l'horaire est modifié dans une autre fenêtre. Cependant, comment puis-je le faire avec une fenêtre ouverte, et si la fenêtre précédente a été fermée avec SignalR. Pour les autres sessions, je veux juste indiquer qu'un autre utilisateur est en train de modifier le planning.SignalR et une fenêtre de navigateur pour une session à la fois
Répondre
Il pourrait être plus facile à utiliser localStorage pour communiquer entre plusieurs onglets/fenêtres un seul utilisateur a ouvert: http://www.codediesel.com/javascript/sharing-messages-and-data-across-windows-using-localstorage/
Vous pouvez écouter l'événement storage qui se déclenche à chaque fenêtre un utilisateur ouvert sur votre site quand vous appelez localStorage.setItem
ou localStorage.removeItem
.
Bien sûr, il serait toujours logique d'utiliser SignalR pour notifier d'autres utilisateurs.
Si vous ne pouvez pas utiliser l'API localStorage pour une raison quelconque, vous pouvez toujours utiliser SignalR pour envoyer un message à chaque fenêtre ouverte par l'utilisateur en utilisant Clients.User(userName)....
dans votre Hub. Par défaut, userName
doit correspondre à IPrincipal.Identity.Name
de votre utilisateur, mais vous pouvez enregistrer votre propre IUserIdProvider
pour personnaliser ceci: http://www.asp.net/signalr/overview/signalr-20/hubs-api/mapping-users-to-connections#IUserIdProvider
- 1. Fenêtre modale une fois une session avec jQuery
- 2. Faire des changements à une fenêtre de navigateur une fois qu'une autre fenêtre est fermée
- 3. Implémentation du captcha une seule fois pour une session
- 4. Comment masquer "Créer une nouvelle fenêtre dans une session de navigateur existante" dans bash
- 5. Existe-t-il une pratique courante pour suivre la session de l'utilisateur à travers la fenêtre du navigateur?
- 6. Travailler autour de la session pour le signalR
- 7. ouvrir plusieurs liens dans une nouvelle fenêtre à la fois
- 8. IE window.open à la deuxième session ouvre une fenêtre avec l'ID de la première session
- 9. Comment supprimer une session à la fermeture du navigateur?
- 10. Autoriser une action une fois par session
- 11. Comment ouvrir une nouvelle fenêtre de navigateur pour popup?
- 12. Signalr Exception dans le navigateur
- 13. Besoin d'aide avec un script de session, Afficher uniquement une fenêtre contextuelle JQModal Une fois
- 14. CodeIgniter révèlent la charge modale une fois par session/biscuit
- 15. Fermer une fenêtre de navigateur d'une application ASP.NET et AJAX
- 16. Interdire ou copier une session de navigateur d'utilisateurs dans IE
- 17. Ouvrir une fenêtre de navigateur popup pour sélectionner un enregistrement
- 18. Ouvrir une fenêtre modale à la fermeture du navigateur?
- 19. ouvrir une fenêtre de navigateur distincte et transmettre des données
- 20. Faire une fenêtre de navigateur non modifiable
- 21. Retour à la fenêtre principale une fois secondView est chargée
- 22. Comment ouvrir une nouvelle fenêtre de navigateur et désactiver la fenêtre de fond
- 23. Comment conserver une session pour la localisation et la globalisation?
- 24. Onglet Navigateur dans une fenêtre Titre: numéro
- 25. Démarrage du signalR plusieurs fois
- 26. UnitOfWork (NHibernate), une seule session UoW/session active à la fois? (besoin de conseils)
- 27. Obtenir une session capybara pour un navigateur distant
- 28. Quelle est la meilleure façon de créer une session à la fois? (ASP.NET, MVC)
- 29. PHP servant une page à la fois
- 30. Comment redimensionner une fenêtre de navigateur pour que la largeur interne soit une valeur spécifique
Assez vague ce que vous demandez exactement. Pouvez-vous fournir un scénario simple? –
Affichez la page de planification, ouvrez l'onglet et accédez à la même page de planification, mais affichez le message indiquant que la page de planification est déjà affichée. –