WCF の拡張Extending WCF

Windows Communication Foundation (WCF) を使用すると、実行時コンポーネントを変更および拡張して、サービスベースのアプリケーションを正確に制御および拡張することができます。Windows Communication Foundation (WCF) allows you to modify and extend run time components to precisely control and extend service-based applications. このセクションのトピックでは、その拡張アーキテクチャについて詳しく説明します。The topics in this section go in depth about the extensibility architecture. 基本的なプログラミングの詳細については、「基本的な WCF プログラミング」を参照してください。For more information about basic programming, see Basic WCF Programming.

このセクションの内容In This Section

ServiceHost とサービス モデル レイヤーの拡張Extending ServiceHost and the Service Model Layer
サービス モデル レイヤーには、基になるチャネルから受信メッセージを取得し、そのメッセージをアプリケーション コードでのメソッド呼び出しに変換し、結果を呼び出し元に送信するという役割があります。The service model layer is responsible for pulling incoming messages out of the underlying channels, translating them into method invocations in application code, and sending the results back to the caller. サービス モデル拡張は、ディスパッチャーの機能、カスタム動作、メッセージとパラメーターの途中受信、およびその他の拡張機能に関連する実行や通信の動作と機能を変更または実装します。Service model extensions modify or implement execution or communication behavior and features involving dispatcher functionality, custom behaviors, message and parameter interception, and other extensibility functionality.

バインディングの拡張Extending Bindings
バインディングはエンドポイントに接続するために必要な通信の詳細設定を記述するオブジェクトです。Bindings are objects that describe the communication details required to connect to an endpoint. バインディングの拡張やカスタム バインドは、アプリケーションの各種機能をサポートするために必要なカスタム通信機能を実装します。Binding extensions or custom bindings implement custom communication functionality required to support application features.

チャネル レイヤーの拡張Extending the Channel Layer
チャネル レイヤーは、サービス モデル レイヤーより下に位置し、クライアントとサービス間のメッセージの交換を担います。The channel layer sits beneath the service model layer and is responsible for the exchange of messages between clients and services. チャネル拡張は、セキュリティなどの新しいプロトコル機能を実装できます。Channel extensions can implement new protocol functionality, such as security. また、SOAP メッセージを伝達する新しいネットワーク トランスポートの実装など、トランスポート機能も実装できます。Channel extensions also transport functionality, such as implementing a new network transport to carry SOAP messages.

セキュリティの拡張Extending Security
WCF のセキュリティは、転送セキュリティ (整合性、機密性、および認証)、アクセス制御 (承認)、および監査で構成されます。Security in WCF consists of transfer security (integrity, confidentiality, and authentication), access control (authorization) and auditing. IdentityModel名前空間で見つかったクラスは、アクセス制御のために WCF によって使用されます。The classes found in the IdentityModel namespace are used by WCF for access control. セキュリティ アーキテクチャを理解することによって、カスタムのアクセス制御システムに対応したカスタムのクレーム タイプを作成できます。Understanding the security architecture allows you to create custom claim types to accommodate custom access control systems.

メタデータ システムの拡張Extending the Metadata System
WCF メタデータシステムは、サービスベースのアプリケーションを実装するために必要なメタデータを表すクラスとインターフェイスのグループです。The WCF metadata system is a group of classes and interfaces that represent metadata required to implement service-based applications. クラスを変更または拡張するか、WSDL (Web サービス記述言語) の拡張子やカスタム WS-PolicyAttachments アサーションなどのカスタム メタデータをエクスポート/インポートするインターフェイスを実装して構成します。Modify or extend the classes or implement and configure the interfaces to export and import custom metadata such as Web Services Description Language (WSDL) extensions or custom WS-PolicyAttachments assertions.

エンコーダーとシリアライザーの拡張Extending Encoders and Serializers
エンコーダーとシリアライザーは、データをある形式から別の形式に変換します。Encoders and serializers translate data from one form to another. このセクションのトピックでは、提供されたクラスを特別な要件に合わせて拡張する方法を説明します。The topics in this section discuss how to extend the supplied classes to meet special requirements.

参照Reference

System.ServiceModel

System.ServiceModel.Channels

System.ServiceModel.Description

System.IdentityModel.Claims

System.IdentityModel.Policy

System.IdentityModel.Selectors

System.IdentityModel.Tokens

基本的な WCF プログラミングBasic WCF Programming

WCF 機能の詳細WCF Feature Details

ガイドラインとベスト プラクティスGuidelines and Best Practices