Notificateur pour une barre d'état système - feu lorsque nouvel enregistrement est créé dans SQL Server

StackOverflow https://stackoverflow.com/questions/2360445

Question

Les travaux sur un service d'assistance d'assistance. De nouveaux billets viennent et les enregistrements sont créés dans une table SQL et ils sont sous-évaluées à une catégorie spécifique où tout analyste peut les ramasser.
frontal ne notifie pas les analystes quand il y a de nouveaux billets, doivent donc rafraîchir contonously la fin avant (navigateur) pour voir si de nouveaux billets sont à venir dans le dossier 'à affecter.

Id aiment créer un notificateur (similaire à quelque chose comme GMail notificateur) qui se trouve dans la zone de notification.

Quelqu'un at-il quelques bons points de départ ou des extraits possibles qui me donnerait un peu d'enthousiasme pour obtenir réellement sur la création d'une sorte de notification?

Merci

Était-ce utile?

La solution

Polling est une façon de le faire, mais si vous utilisez SQL Server 2005 ou plus tard, une solution plus élégante consiste à utiliser des requêtes SQL Server Notifications. Cela vous permet de spécifier une requête (par exemple « SELECT ID DE billets ») et être averti lorsque le changement de résultats. Il y a un bon tutoriel sur la façon de le faire sur CodeProject:

http://www.codeproject.com/KB/database/QueryNotifications.aspx

Autres conseils

Si vous utilisez .NET, vous pouvez utiliser un objet Timer et définir l'intervalle « tick » à 60 secondes. Sur chaque événement Cochez vous interrogera la table de base de données SQL et stocker la date / heure de la dernière création de l'enregistrement de billets dans une variable. Ensuite, il suffit de vérifier pour voir s'il y avait des enregistrements de billets insérés avec une date de création / durée supérieure à la dernière date / heure de création. Vous pouvez même ajouter un autre composant Timer à « compte à rebours » le sondage suivant la base de données. Si vous voulez vraiment obtenir lisse que vous mettez le code d'interrogation de base de données dans un thread BackgroundWorker de sorte que votre interface graphique obture jamais pendant que vous attendez pour une connexion SQL Server.

Le déclarant systray va essentiellement faire la même chose que d'une actualisation du navigateur, ping le serveur pour les nouveaux enregistrements. Vous voudrez probablement à « ping » votre serveur toutes les 60 secondes, ou plus ou moins vite en fonction de la rapidité que vous souhaitez être averti.

Faire un en C # serait presque trivial. Mais vous ne dites pas la langue que vous souhaitez utiliser. Je suis sûr que un gars Java serait venir ici et dire son trivial en Java. Un gars python alors venir et nous dire à la fois qu'il peut le faire encore plus facile.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top