2009-04-28 9 views
1

私たちは、Webアプリケーションといくつかのバックグラウンド作業をしているWindowsサービスを持つシステムを持っています。IISリセットの通知を受けますか?

システムをさらに大幅に変更する必要がある場合は、IISのリセットを発行してから関連するすべてのWindowsサービスを手動で再起動する必要があります。

C#コードでこのようなIISResetイベントが通知される方法はありますか?そのようなIISResetコマンドが実行されたことを検出すると、Windowsサービスが自動的に再起動する可能性がありますか?

ありがとうございます! Marc

答えて

1

独自のカスタムWindowsクエリ言語式を使用してWindows Instrumentationにプラグインすることもできます。 私はこれをIISで直接使用したことはありませんが、あなたが聞くことができるオブジェクトが存在することを期待しています。 これを確認することができます:http://www.csharphelp.com/archives2/archive334.html研究の出発点として。

1

IISリセットを呼び出してWindowsサービスを再起動するバッチファイルを作成できませんでしたか?私は、Windowsサービスを開始する方法があると思い

NET START "SERVICE NAME" 
+1

はい私はもちろん可能性がありますが、システム管理者がこのバッチファイルをいつでも使用するようにするにはどうすればよいですか?確かに、それは問題ではありません......しかし私たちは管理されたホスト環境にあります。私は*何でも当然受け入れることができません。だからこそ私は賢者に私のWindowsサービスコードにIISResetを設定すると、readmeファイルを読み込んでいるsysadminに依存しないようになります。 –

1

はNebakanezerに同意し、あなたはしかし、サービス第一を停止する必要があるかもしれません。

  • オプション1

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

  • オプション2

IISサーバにダミーのasp.netアプリを展開について、あなたはアプリケーションの開始を検出することができますどのようなこれはIISResetでのみ発生し、サービスの停止と再起動を引き起こすはずです。私は、IISが厳しいセキュリティモデルを持っていて、サービスを停止したり、バッチファイルをトリガして同じことをするように考えることはできないのかどうかはわかりませんが、試してみる価値はあります。

  • オプション3

何らかの理由でオプションではないthatsの場合は、IISログを監視し、一緒に何かを引くことができ、私は彼らがIISリセットをログと信じています。

+0

はい、それはうまくいくかもしれません - システム管理者が必ずバッチファイルを使用するように.....私は、Windowsサービスがこれについてスマートになり、IISReset自体を検出する方法を見つけることを望んでいました。 –

+0

ok。私はそのトリックを行うかもしれない別のオプションを考えましたか? – TygerKrash

関連する問題