2013-03-18 7 views
0

Je suis l'exemple this pour créer un service WCF hébergé. Idéalement, je voudrais que le service de connexion avec minuterie pour vérifier chaque demi-heure si certaine valeur est mise à jour dans la base de données et si oui le service effectuerait une tâche autre continuera à vérifier chaque demi-heure. Je l'ai lu en ligne que l'utilisation de la minuterie dans IIS hébergé WCF n'est pas une bonne idée, que diriez-vous de l'utiliser sur le service WCF auto-hébergé? des exemples?Service WCF hébergé avec minuterie

Merci,

Répondre

3

je pense une meilleure option pour vous serait de créer une application simple de la console qui exécute votre tâche si la valeur est mise à jour et puis créer une tâche planifiée dans Windows qui exécute cette application console toutes les demi-heures . De cette façon, vous pouvez laisser Windows gérer la partie de synchronisation et il vous suffit d'écrire le code qui vérifie la base de données et la met à jour si nécessaire.

Vous ne savez pas quelle version de Windows vous utilisez, mais vous pouvez accéder aux tâches planifiées à partir du Panneau de configuration.

Create a Scheduled Task on XP

Create a Scheduled Task on Windows 7

+0

c'est un bon moyen de faire des services chronométrés sur Windows – Alex

0

La raison pour laquelle une minuterie dans un IIS hébergé service WCF est "pas une bonne idée" est un service IIS a une durée de vie bien différent d'un self-service hébergé. Voir ce SO question and answer pour certains détails et ce MSDN article for even more details.

Fondamentalement, un service WCF peut être "arrêté" tout en étant hébergé dans IIS si personne ne s'y est connecté dans un délai d'attente. Si vous avez besoin d'une maintenance périodique régulière comme celle que vous décrivez, vous devrez utiliser un service hébergé automatiquement et demander à ce service de démarrer une minuterie qui se déclenche toutes les demi-heures dans son appel OnStart().

Questions connexes