ServiceHealthBehavior クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
正常性エンドポイントを提供するWindows Communication Foundation (WCF) サービスの動作を提供します。
public ref class ServiceHealthBehavior : System::ServiceModel::Description::ServiceHealthBehaviorBase
public class ServiceHealthBehavior : System.ServiceModel.Description.ServiceHealthBehaviorBase
type ServiceHealthBehavior = class
inherit ServiceHealthBehaviorBase
Public Class ServiceHealthBehavior
Inherits ServiceHealthBehaviorBase
- 継承
注釈
正常性エンドポイントは、コンポーネントの正常性を評価する正常性チェックを実行するために使用されます。 正常性エンドポイントは、次の目的で使用できます。
重大な正常性チェックに失敗しているプロセスを強制終了するようにオーケストレーション ツールに通知します。
サービスの可用性とパフォーマンスに関するアラートを追跡して提供することで、ツールを監視するための早期の問題インジケーターとして機能します。
ServiceHealthBehavior は、IServiceBehavior を拡張し、 ServiceHealthBehaviorBaseから派生する WCF サービス動作です。
ServiceHealthBehavior コレクションにServiceDescription.Behaviors インスタンスを追加すると、次のことが可能になります。
サービス正常性の公開: サービスの状態、スロットル数、容量などのサービス固有の詳細は、http/GET 要求と
?healthクエリ文字列を使用して表示できます。 表示される情報を把握し、簡単にアクセスすることは、不適切な動作をする WCF サービスをトラブルシューティングする際に最も重要です。HTTP 応答コードの戻り値: クエリ文字列で、HTTP/GET 正常性プローブ要求の HTTP 状態コードを指定できます。
正常性エンドポイントは、正常性を監視するコンポーネントのコンテキストでのみ意味があります。 他の意味や目的はありません。 そのため、その正常性は、コンポーネントの正常性への導管です。 クライアントは、正常性エンドポイントによって返される HTTP 応答コードがコンポーネント全体に適用されると想定する 必要があります 。 これは、ロード バランサー、サービス検出など、正常性チェックを利用する現在のインフラストラクチャ ツールで想定される動作と互換性があります。
正常性エンドポイントを有効にする
正常性エンドポイントを公開し、WCF サービスの正常性情報を公開する方法を指定するには、次の 2 つの方法があります。
構成ファイルを使用する。 例えば次が挙げられます。
<behaviors> <serviceBehaviors> <behavior name="DefaultBehavior"> <serviceHealth httpGetEnabled="true"/> </behavior> </serviceBehaviors> </behaviors>プログラムによって自動的に。 次のコード フラグメントでは、C# を使用して正常性エンドポイントを公開しています。
ServiceHost host = new ServiceHost(typeof(Service1), new Uri("http://jconde-dev1:81/Service1")); ServiceHealthBehavior healthBehavior = host.Description.Behaviors.Find<ServiceHealthBehavior>(); if (healthBehavior == null) { healthBehavior = new ServiceHealthBehavior(); } //healthBehavior.HttpGetEnabled = false; //healthBehavior.HttpsGetEnabled = false; host.Description.Behaviors.Add(healthBehavior);
コンストラクター
| 名前 | 説明 |
|---|---|
| ServiceHealthBehavior() |
ServiceHealthBehavior クラスの新しいインスタンスを初期化します。 |
プロパティ
| 名前 | 説明 |
|---|---|
| HasXmlSupport |
XML 応答メッセージがサポートされているかどうかを示す値を取得します。 |
| HealthDetailsEnabled |
正常性エンドポイントがサービスの詳細を返す必要があるかどうか、または応答にコンテンツを含める必要があるかどうかを指定する値を取得または設定します。 (継承元 ServiceHealthBehaviorBase) |
| HttpGetBinding |
HTTP/Get 要求を使用して正常性を取得するために使用されるバインディングを取得または設定します。 (継承元 ServiceHealthBehaviorBase) |
| HttpGetEnabled |
HTTP/Get 要求を使用して取得するサービス メタデータを発行するかどうかを指定する値を取得または設定します。 (継承元 ServiceHealthBehaviorBase) |
| HttpGetUrl |
HTTP/Get 要求を使用して取得するためにメタデータを発行するアドレスを指定する URI を取得または設定します。 (継承元 ServiceHealthBehaviorBase) |
| HttpsGetBinding |
HTTPS/Get 要求を使用して正常性を取得するために使用されるバインディングを取得または設定します。 (継承元 ServiceHealthBehaviorBase) |
| HttpsGetEnabled |
HTTPS/Get 要求を使用して取得するサービス メタデータを発行するかどうかを指定する値を取得または設定します。 (継承元 ServiceHealthBehaviorBase) |
| HttpsGetUrl |
HTTPS/Get 要求を使用して取得するためにメタデータを発行するアドレスを指定する URI を取得または設定します。 (継承元 ServiceHealthBehaviorBase) |
| ServiceStartTime |
正常性チェック サービスが開始された日時を取得します。 (継承元 ServiceHealthBehaviorBase) |
メソッド
明示的なインターフェイスの実装
| 名前 | 説明 |
|---|---|
| IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) |
カスタム データをバインディング要素に渡して、連絡先の実装をサポートします。 (継承元 ServiceHealthBehaviorBase) |
| IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) |
実行時プロパティの値を変更するか、エラー ハンドラー、メッセージまたはパラメーター インターセプター、セキュリティ拡張機能、その他のカスタム拡張オブジェクトなどのカスタム拡張オブジェクトを挿入します。 (継承元 ServiceHealthBehaviorBase) |
| IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) |
サービス ホストとサービスの説明を調べて、サービスが正常に実行できることを確認します。 (継承元 ServiceHealthBehaviorBase) |