2011-01-25 10 views
2

IISでホストされているWCFサービスをお持ちで、構成設定が有効であることを確認します。ロギングディレクトリが存在するか、作成できます。設定が失敗した場合は、サービスが無効であると見なし、イベントログなどで通知したいと思います。サービスが無効であれば理想的には利用できません。起動時にWCFサービスを検証する

私がWindowsサービスとしてホストしていれば、これを簡単に行うことができます。しかし、IISでホストされていますか?私は、コードからサービスを利用できないようにする良い方法について知らない。

アイデア?役立つ場合、WCFサービスは独自のアプリケーションプールで実行されます。

TIA! James

答えて

2

例外をスローすると、サービスは利用できなくなります。だからあなたのサービスのコンストラクタであなたのチェックを行い、すべてが完璧で、例外がスローされず、サービスがそこにない場合。リモートエラーがオフの場合、サービスを参照するとエラーとスタックトレースが表示されます。 loggigngいずれかのディレクトリが存在しないか、などを作成することができない場合

+0

本当にそのように動作します。まだクライアント側でシナリオを処理する方法を理解しようとしています –

0

は..

コールサービスのコンストラクタからこの試験方法をfalseをboolean型を返しますテストと呼ばれるサービスでプライベートメソッドを持っています。メソッドがfalseを返す場合は、サービスが停止しているという明確な情報を送信します。

2

他のポスターは、サービスのコンストラクタからのスローを推奨しています。このアプローチは正常に動作しますが、カスタムServiceHostFactory(http://msdn.microsoft.com/en-us/library/aa702697.aspx)を実装して、CreateServiceHostメソッドで検証を行うことが、より良いアプローチになる可能性があります。これを行う利点は、検証エラーが「サービスをアクティブ化できませんでした」エラー報告& HTMLページの一部になることです。

関連する問題