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) |
適用対象
.NET