Windowsサービスについて質問したいと思います。 私のサービスコードは次のようになります。サービス - 終了コードを取得する方法
try
{
//...
}
catch
{
Environment.ExitCode = 1;
}
を、私は私のサービスをインストールした後、私は特定の時間にサービスを実行するようにスケジューリングシステムを使用しています:
net start MyService
//or
sc start MyService
だから私の質問は、情報を取得する方法であり、私に例外があったら? この情報を取得するコマンドはありますか?今私は通常、10分後に私のアプリケーションを実行しています。サービスを停止します。私は、アプリケーションのエラーが発生した場合私に教えてくれる中間スケジューリングタスクを実行したい。私は "sc"のすべてのオプションを試しましたが、サービスに関する情報のみを提供します。
Contraints:
- 私は、イベントログにエラーと例外をログに記録することができないか、ファイル
- は、スケジューリングシステムでは私のコード
- を変更ないでおく私は(バットスクリプトを使用することができますので、このザ・スクリプトがあります特定のあなたがあなたのサービスのために作成する1、またはSIMのいずれか - 標準的な方法はevent logにエラーと例外をログに記録することです
ここでは、スタンドアロンの実行可能ファイルではなく、Windowsサービスとしてプログラムを実行する理由を考えます。あなたのサービスがサービスコントロールマネージャーによって実行されているときに、サービスとして実行されているプロセスの終了コードを取得する方法はないと思います。スケジューラを使用してオンデマンドでプロセスを実行する場合は、スタンドアロンの実行可能ファイルだけを使用することを検討してください。 – ig0774