ServiceHost とサービス モデル レイヤの拡張
サービス モデル レイヤには、基になるチャネルから受信メッセージを取得し、そのメッセージをアプリケーション コードでのメソッド呼び出しに変換し、結果を呼び出し元に送信するという役割があります。サービス モデル拡張は、クライアントやディスパッチャの機能、カスタム動作、メッセージとパラメータの途中受信、およびその他の拡張機能に関連する実行や通信の動作と機能を変更または実装します。
このセクションの内容
- クライアントの拡張
クライアント ランタイムを途中受信して変更できるインターフェイス、およびクライアント アプリケーションのカスタム拡張を挿入できるクラスについて説明します。たとえば、カスタム クライアント メッセージ ログやカスタム メッセージ シリアル化などを実行できます。
- ディスパッチャの拡張
サービス ランタイムを途中受信して変更できるインターフェイス、およびサービス アプリケーションのカスタム拡張を挿入できるクラスについて説明します。たとえば、カスタム サービス ログ、サービス側でのメッセージ検証、カスタム ディスパッチなどを実行できます。
- 拡張可能オブジェクト
5 つの拡張可能オブジェクトと、IExtensibleObject パターンについて説明します。拡張可能オブジェクト パターンは、既存のランタイム クラスに新しい機能を付加して拡張したり、オブジェクトに新しい状態を追加するために使用します。このようなオブジェクトを実際に拡張することにより、処理の段階に応じて、共通の拡張可能オブジェクトに定義された共有の状態や機能にアクセスすることができます。
- 動作を使用したランタイムの構成と拡張
WCF ランタイムで設定を変更したり、拡張機能を挿入したりするには、動作を使用します。WCF には、調整機能、インスタンス化、およびサービスと操作に関するその他のさまざまな側面を制御するための、システムに実装済みの動作が用意されています。ここでは、独自のカスタム動作を作成し、プログラムおよび構成ファイルにより、作成したカスタム動作を使用できるようにする方法について説明します。
- ServiceHostFactory を使用したホストの拡張
System.ServiceModel.ServiceHostBase および System.ServiceModel.ServiceHost を拡張し、System.ServiceModel.Activation.ServiceHostFactory クラスを使用してホスト環境をカスタマイズする方法について説明します。