Windows Communication Foundation (WCF) を使用すると、ランタイム コンポーネントを変更および拡張して、サービス ベースのアプリケーションを正確に制御および拡張できます。 このセクションのトピックでは、機能拡張アーキテクチャについて詳しくは説明します。 基本的なプログラミングの詳細については、「 基本的な WCF プログラミング」を参照してください。
このセクションにて
ServiceHost とサービス モデル レイヤーの拡張
サービス モデル レイヤーは、受信メッセージを基になるチャネルからプルし、アプリケーション コードでメソッド呼び出しに変換し、結果を呼び出し元に送信する役割を担います。 サービス モデル拡張機能は、ディスパッチャー機能、カスタム動作、メッセージとパラメーターのインターセプト、およびその他の拡張機能を含む実行または通信の動作と機能を変更または実装します。
バインドの拡張
バインディングは、エンドポイントへの接続に必要な通信の詳細を記述するオブジェクトです。 バインド拡張機能またはカスタム バインドは、アプリケーション機能をサポートするために必要なカスタム通信機能を実装します。
チャネル レイヤーの拡張
チャネル 層はサービス モデル レイヤーの下にあり、クライアントとサービス間のメッセージ交換を担当します。 チャネル拡張機能は、セキュリティなどの新しいプロトコル機能を実装できます。 チャネル拡張機能は、SOAP メッセージを転送する新しいネットワーク トランスポートの実装などのトランスポート機能も備えています。
セキュリティの拡張
WCF のセキュリティは、転送セキュリティ (整合性、機密性、認証)、アクセス制御 (承認)、監査で構成されます。
IdentityModel
名前空間にあるクラスは、WCF によってアクセス制御に使用されます。 セキュリティ アーキテクチャを理解すると、カスタム アクセス制御システムに対応するカスタム要求の種類を作成できます。
メタデータ システムの拡張
WCF メタデータ システムは、サービス ベースのアプリケーションを実装するために必要なメタデータを表すクラスとインターフェイスのグループです。 クラスを変更または拡張するか、Web サービス記述言語 (WSDL) 拡張機能やカスタム WS-PolicyAttachments アサーションなどのカスタム メタデータをエクスポートおよびインポートするインターフェイスを実装および構成します。
エンコーダーとシリアライザーの拡張
エンコーダーとシリアライザーは、あるフォームから別のフォームにデータを変換します。 このセクションのトピックでは、特別な要件を満たすように指定されたクラスを拡張する方法について説明します。
リファレンス
System.ServiceModel.Description
System.IdentityModel.Selectors