3

私は7つのWindowsサービスとユーザーインターフェイスを備えたレガシー製品に取り組んでいます。サービスにはいくつかのバグがあり、10〜15日ごとにクラッシュします。サービスの状態を監視するアプリケーションを作成する必要があります。サービスがクラッシュした場合は、サービスを開始するために管理者に電子メールを送信する必要があります。

一部のクラッシュ中にMicrosoftエラーレポートダイアログまたはその他のダイアログが表示され、メッセージが確認されるまでサービスの実行が検討されているため、自動回復プロセスを使用できません。

そのため、元のサービスのバグが完全に修正されるまで、この個別のアプリケーション/監視サービスを使用してクラッシュを監視することを計画しています。

番犬サービスの設計についてのご意見をお聞かせください。

ありがとう。

4

4 に答える 4

2

あなたの質問から、サービスが終了したかどうかは、ダイアログが表示されているため、Windowsでは判断できないことがわかりました。Windowsがサービスのシャットダウンを検出できない場合、別のアプリケーションはどうですか。
プロセスが想定されていることを実行しているという証拠を見つける必要があります。ログファイルが大きくなっていることを確認したり、イベントが書き込まれているかどうかを確認したりするのが最も簡単な方法です。

于 2010-03-02T07:12:08.573 に答える
1

質問は、エラーダイアログがクリックされていないためにWindowsサービスの回復がトリガーされないことを示唆しています。おそらく必要なのは、エラーダイアログが開いていることを検出してボタンをクリックすることです。このようにして、サービスを正常に終了し、Windowsサービスの回復を開始できます。

迷惑なクリアケースダイアログを自動的にクリックするために使用するプログラムを添付しました。以下は、プログラムを駆動するサンプル構成ファイルです。あなたがする必要があるのは、clickInfoの新しい行を追加し、正しいウィンドウとボタンのキャプションを入力することです。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="clickConfiguration" type="ClickButton.ClickConfigurationSection, ClickButton"/>
  </configSections>
  <clickConfiguration>    
    <clickInfo windowName="ClearCase" buttonName="Proceed" />
  </clickConfiguration>  
</configuration>

それが役に立てば幸い!

于 2010-03-03T19:53:26.520 に答える
0

これらのサービスを修正できないが、インターネット上でHTTPリソースとして「公開」できる場合は、オンラインWebサイト監視サービスを使用して、サービスがまだオンになっているかどうかを定期的に確認できます。ローカルでサービスを「ping」する方法を知っている小さなWebサイトを作成し、それらの監視サービスの1つによってスケジュールに従ってそのページを要求します。

私はそのようなサービスのいくつかを知っています:http ://www.setcronjob.com/、http ://www.webcron.org/、http //scheduler.codeeffects.com。最後の1つは、プライベートネットワーク上のHTTPリソースを監視することもできますが、この機能は無料ではありません。お役に立てれば。

于 2010-03-02T14:41:39.287 に答える
-1

Drwatsonを無効にするためにレジストリを手動で編集する必要があり、それを有効に戻すためのコマンドラインがあります;)ここで、このMicrosoft KBを確認してください:http ://support.microsoft.com/kb/188296

于 2010-03-02T07:44:11.890 に答える