2009-04-28 10 views
1

Nous avons un système avec une application web et un tas de services Windows faisant un travail de fond. Chaque fois que nous devons effectuer une modification plus substantielle du système, nous devons émettre une réinitialisation IIS, puis redémarrer manuellement tous les services Windows concernés.Être informé d'une réinitialisation IIS?

Y a-t-il moyen d'être averti de ces événements IISReset dans le code C#, afin que nos services Windows puissent se relancer, chaque fois qu'ils détectent une telle commande IISReset en cours d'exécution?

Merci! Marc

Répondre

1

Vous pouvez également vous connecter à Windows Instrumentation avec votre propre expression Windows Query Language personnalisée. Je ne l'ai jamais utilisé directement pour IIS, mais je m'attends à ce qu'il y ait des objets que vous pouvez écouter, ce qui vous permet d'être conscient de ces changements. Vous pouvez vérifier cela: http://www.csharphelp.com/archives2/archive334.html comme point de départ pour la recherche.

1

Impossible d'écrire un fichier de commandes pour appeler IIS Réinitialiser, puis redémarrer les services Windows?

Je pense que la façon de commencer un service Windows est:

NET START "SERVICE NAME" 
+1

Oui, je pourrais - bien sûr que je pourrais - mais comment puis-je m'assurer que nos administrateurs système vont * TOUJOURS * utiliser ce fichier batch? Bien sûr, pour moi, ce n'est pas un problème ... mais nous sommes dans un environnement géré et hébergé où je ne peux pas prendre * TOUT * pour acquis ... c'est pourquoi j'espérais mettre l'intelligence à détecter IISReset dans mon code de service Windows afin que je ne sois pas dépendant d'un sysadmin lisant un fichier readme ... –

1

d'accord avec Nebakanezer, vous devrez peut-être arrêter le service d'abord bien.

  • Option 1

 
NET STOP "SERVICE NAME" 
NET START "SERVICE NAME" 

  • Option 2

Qu'en est-il de déployer une application asp.net factice au serveur IIS, vous pouvez détecter le démarrage de l'application qui devrait seulement se produire sur un IISReset et déclencher l'arrêt et le redémarrage des services? Je ne suis pas sûr si IIS a un modèle de sécurité renforcé qui vous permettra de penser comme des services d'arrêt ou de déclencher un fichier batch pour faire la même chose mais ça vaut le coup d'essayer.

  • Option 3

Si c'est pas une option pour une raison quelconque, vous pourriez tirer quelque chose ensemble qui surveille les journaux IIS, je crois qu'ils se connectent remet à zéro IIS.

+0

Oui, cela pourrait fonctionner - si nous pouvons nous assurer que nos administrateurs sys utiliseront TOUJOURS notre fichier batch ..... car c'est pas toujours une alternative viable, j'espérais peut-être trouver un moyen que nos services Windows pourraient être intelligents à ce sujet et détecter l'IISReset eux-mêmes .... –

+0

ok. J'ai pensé à une autre option qui pourrait faire l'affaire? – TygerKrash

Questions connexes