Je veux la carte id connexion à l'utilisateur de son lorsqu'ils se connectent à ma classe de moyeu, ce qui est une bonne stratégie pour le faire efficacement? Je veux associer le profil d'un utilisateur à son ID de connexion, donc quand je vérifie les utilisateurs dans un groupe de signalisation particulier, je peux facilement les informations de profil de chaque utilisateurQuelle est la meilleure façon de les utilisateurs aux ids de connexion
Répondre
Techniquement, si vous ne vous souciez pas de maintenir l'état, vous pouvez le résoudre avec un pauvre homme est en mémoire ConcurrentDictionary<string, ConcurrentBag<string>>
, mais je suppose que vous essayez d'être un peu plus évolutive/tolérance aux pannes que cela.
JabbR, qui est l'application phare de chat de test pour le framework SignalR, stocke les détails du client connecté dans une table dans son DB (qui se trouve être SQL). Il a un mappage du ChatUser unique -> à de nombreuses instances ChatClient (un-à-plusieurs). Ainsi, lorsqu'un utilisateur logique est connecté, il sait qui est cet utilisateur de manière logique et peut également s'assurer qu'il peut diriger les messages appropriés vers toutes les instances clientes connectées que l'utilisateur peut actuellement ouvrir. You can find that specific implementation here si vous souhaitez en savoir plus à ce sujet.
- 1. Quelle est la meilleure façon de vérifier les utilisateurs verrouillés?
- 2. Quelle est la meilleure façon de lire les données CSV?
- 3. Quelle est la meilleure façon de suivre les visiteurs uniques?
- 4. Quelle est la meilleure façon de définir les styles CSS?
- 5. Quelle est la meilleure façon de gérer les images cassées?
- 6. Quelle est la meilleure façon de réattribuer les routes
- 7. Quelle est la meilleure façon de définir un classement dans Informix IDS?
- 8. Quelle est la meilleure façon de gérer les exceptions ObjectDataSource?
- 9. quelle est la meilleure façon de marquer un texte?
- 10. Quelle est la meilleure façon d'examiner les fichiers access.log d'apache?
- 11. Quelle est la meilleure façon d'authentifier, d'identifier et de stocker des informations délicates sur les utilisateurs?
- 12. Quelle est la meilleure façon de stocker la connexion websocket dans golang
- 13. quelle est la meilleure façon de limiter les services pour certains utilisateurs
- 14. Quelle est la meilleure façon de mapper les exigences aux fonctionnalités de Redmine?
- 15. Quelle est la meilleure façon de tester les réponses XML?
- 16. Quelle est la meilleure façon de gérer les chaînes temporaires?
- 17. Quelle est la meilleure façon de nommer les modules AMD?
- 18. Quelle est la meilleure façon de gérer les exceptions JMS
- 19. Quelle est la meilleure façon de gérer les écrans Retina?
- 20. Quelle est la meilleure façon de tester les services WCF?
- 21. Quelle est la meilleure façon d'organiser les modules de jeu?
- 22. Quelle est la meilleure façon de rejoindre les rangées ordonnées?
- 23. Quelle est la meilleure façon de remplir les polygones?
- 24. Quelle est la meilleure façon de nommer les règles css?
- 25. Quelle est la meilleure façon de surveiller les journaux IIS?
- 26. Quelle est la meilleure façon de gérer les autorisations d'application de bureau de base de données?
- 27. Quelle est la meilleure façon de télécharger de gros fichiers avec de nombreux utilisateurs?
- 28. Quelle est la meilleure façon d'implémenter les "curseurs" AJAX?
- 29. Meilleure façon de «maintenir» l'accès aux utilisateurs d'autres sites
- 30. Quelle est la meilleure façon d'interroger cela?
Avez-vous envisager la solution pour concurrency db? Aussi, comment gérez-vous quand le serveur tombe en panne? Tous les mappages sont toujours sauvegardés dans la base de données, donc devrez-vous tronquer la table chaque fois que vous démarrez l'ap? – anthonypliu
Bien sûr, vous devez gérer tous les problèmes habituels de concurrence/évolutivité que vous auriez à gérer dans n'importe quelle application. En ce qui concerne les utilisateurs connectés, oui, vous devez savoir ce qui se passe lorsque vous démarrez à nouveau. JabbR fait cela en effaçant toute la table pendant le début de l'application, bien que ce soit la force simpliste, brute et sans doute pas la solution la plus élégante, vous pourriez avoir ... surtout pour une ferme a accueilli l'application: https://github.com/davidfowl/ JabbR/blob/maître/JabbR/App_Start/Bootstrapper.cs # L146 –
Merci pour la réponse, mais quelle serait votre suggestion dans ce cas-là. Comment serais-je capable de le gérer dans une application hébergée en batterie. Un serveur s'éteint, comment va-t-il savoir à partir de là quels utilisateurs retirer de la table? – anthonypliu