SignalR d'interrogation de base de données pour les mises à jour
Je suis l'espoir d'utiliser SignalR à fournir des mises à jour pour le client, les mises à jour vont venir à partir d'un message de la table qui est mise à jour lorsque les choses se produire à travers l'application..
Mon problème est que l'application aura autour de 500 à 600 utilisateurs simultanés et je ne peux pas les avoir tous d'avoir une connexion à la base de données et en constante interrogation sur la table..
Ce que j'aimerai faire est d'avoir une seule et unique chose{?} interrogation de la table et de mettre à jour les moyeux plutôt que chaque connexion d'interrogation.. je pensais de l'aide d'un singleton pour cela? alors peut-être que lorsque l'application démarre quelque chose est créé qui va alors faire tout le travail vraiment..
Ma question est-à - dire que j'ai eu un singleton qui a eu un événement qui a été tiré à chaque fois il y avait une mise à jour.. ce serait la performance comme pour dire 500 contrôleurs de la souscription à cet événement?
Aussi.. si il y a une meilleure façon de faire cela, alors plaît à dire.. c'est mon premier et seulement l'idée, malheureusement!
toute aide serait fantastique!!!!
EDIT: les données est fourni par une application legacy et je n'ai aucun contrôle sur la façon dont les données sont saisies d'interrogation de la base de données seront nécessaires.
ste.
nous utilisons Oracle, mais je préfère ne pas combiner cette solution dans une base de données de la technologie
OriginalL'auteur Steoates | 2013-01-14
Vous devez vous connecter pour publier un commentaire.
Désolé que cette solution n'est pas signalR, mais peut-être que vous pouvez obtenir des idées à partir d'elle.
Ici est la exemple complet à télécharger sur GitHub
Hey, bien sûr... je peux créer un exemple où les deux webclients et de (faux) d'autres clients de mise à jour de la base de données et le contrôleur pousse info aux clients... Cela peut bien sûr être fait dans un certain nombre de moyens avancés, mais je vais le garder simple et stupide (pour commencer) Edit: va poster un lien ici quand je suis fait
Merci s'accoupler, ce serait fanastic!
Hey Steoates. Ive a créé un projet... Vais juste ajouter quelques commentaires et puis le mettre sur github pour vous. Il y a probablement ce soir.
Fantastique, c'est parfait! je vous remercie pour toute l'aide!!
OriginalL'auteur Uffe
Je préfère ne pas interroger la base de données que ce serait du gaspillage. Je l'approche de ce problème par l'ouverture d'un seul point d'entrée unique pour mes données (une API HTTP, etc) et ensuite diffuser la mise à jour à tous les clients connectés à travers le SignalR Hub. Brad Wilson a vraiment un super présentation qui illustrent cette approche:
Brad Wilson - Microsoft Web Moderne Pile, mettant en Vedette ASP.NET Web API
Voici un exemple de code pour cette approche qui utilise ASP.NET l'API Web de la technologie pour la saisie des données. Il utilise en mémoire dans le dictionnaire pour la banque de données, mais la technique de stockage de données n'est pas la question ici:
Le code source complet de l'application qui Brad fait des démos est également disponible: https://github.com/bradwilson/ndc2012.
L'autre option, qui vous ne préfère pas, c'est de faire de votre base de données pour tirer des notifications dès que les données sont modifiées. Ensuite, vous pouvez ramasser ça et de les diffuser par le biais de SignalR. Voici un exemple:
Base de données des Notifications de Changement dans ASP.NET SignalR et SqlDependency
Si l'aide d'Azur. Qui n'a pas de déclencher des événements sur les modifications de la ligne? De retour dans les bureaux de vote?
OriginalL'auteur tugberk