WebMessageEncodingBindingElement クラス

定義

Windows Communication Foundation (WCF) での使用時に、プレーンテキストの XML、JavaScript Object Notation (JSON) メッセージ エンコード、および "無変換の" バイナリ コンテンツの読み取りおよび書き込みを有効にします。

public ref class WebMessageEncodingBindingElement sealed : System::ServiceModel::Channels::MessageEncodingBindingElement, System::ServiceModel::Description::IWsdlExportExtension
public sealed class WebMessageEncodingBindingElement : System.ServiceModel.Channels.MessageEncodingBindingElement, System.ServiceModel.Description.IWsdlExportExtension
type WebMessageEncodingBindingElement = class
    inherit MessageEncodingBindingElement
    interface IWsdlExportExtension
Public NotInheritable Class WebMessageEncodingBindingElement
Inherits MessageEncodingBindingElement
Implements IWsdlExportExtension
継承
WebMessageEncodingBindingElement
実装

注釈

エンコーディングは、メッセージをバイト シーケンスに変換するプロセスです。 デコードは、その逆のプロセスです。 これらのプロセスでは、文字エンコーディングの指定が必要です。 WebMessageEncodingBindingElement は、プレーンテキストの XML と JSON エンコーディング、および "生の" バイナリ データの処理を、一連の内部エンコーダーに代行させることで機能します。 この委任は、複合メッセージ エンコーダーによって実行されます。

このバインディング要素と複合エンコーダーは、WebHttpBinding によって使用される SOAP メッセージを使用しないシナリオでのエンコーディングを制御するために使用されます。 これらのシナリオには、POX ("Plain Old XML")、REST (Representational State Transfer)、RSS (Really Simple Syndication) と Atom 配信、および AJAX (Asynchronous JavaScript and XML) が含まれます。 複合メッセージ エンコーダーは SOAP または WS-Addressing をサポートしないため、MessageVersion は常に None を返します。

バインド要素は、構築時に、WebMessageEncodingBindingElement(Encoding) コンストラクターを使用し、書き込みの文字エンコーディングを使用して設定できます。 Encoding 値は、JSON およびテキスト形式の XML の場合の書き込みの動作を指定します。 読み取りについては、任意の有効なメッセージ エンコーディングとテキスト エンコーディングが認識されます。

このコンストラクターは、プールに割り当てられており、それぞれ、新しいリーダーおよびライターを割り当てずに受信および送信メッセージを処理できるリーダーおよびライターの最大数の既定値を設定します。 プロパティ MaxReadPoolSizeMaxWritePoolSize を使用して、割り当てられるリーダーおよびライターの最大数をそれぞれ設定することもできます。 既定では、64 のリーダーと 16 のライターが割り当てられています。

既定の複雑さの制約も、XmlDictionaryReaderQuotas プロパティによってこのエンコーディングと関連付けられている ReaderQuotas でこのコンストラクターによって設定され、メッセージの複雑さを使用してエンドポイント処理リソースを停滞させるサービス拒否 (DOS) 型の攻撃から保護します。

WebMessageEncodingBindingElement は、メッセージ エンコーダー ファクトリを作成する CreateMessageEncoderFactory メソッドを持っています。メッセージ エンコーダー ファクトリは、指定されたコンテンツ タイプに応じて、JSON、XML または Raw メッセージのデコーダーおよびエンコーダーを適切に作成します。

WebMessageEncodingBindingElement は、HTTP 要求が通過するチャネルのファクトリおよびリスナーを構築するメソッドも提供します。

複合エンコーダーおよびその関連クラスと構成コンポーネントは部分信頼で使用でき、使用する場合に、特別なアクセス許可は必要ありません。

コンストラクター

WebMessageEncodingBindingElement()

WebMessageEncodingBindingElement クラスの新しいインスタンスを初期化します。

WebMessageEncodingBindingElement(Encoding)

書き込みの文字エンコーディングを指定して、WebMessageEncodingBindingElement クラスの新しいインスタンスを初期化します。

プロパティ

ContentTypeMapper

受信メッセージのコンテンツ タイプを形式にマップする方法を取得または設定します。

CrossDomainScriptAccessEnabled

ドメイン間スクリプト アクセスが有効かどうかを決定する値を取得または設定します。

MaxReadPoolSize

プールに割り当てられており、新しいリーダーを割り当てずに受信メッセージを処理できるリーダーの最大数を指定する値を取得または設定します。

MaxWritePoolSize

プールに割り当てられており、新しいライターを割り当てずに送信メッセージを処理できるライターの最大数を指定する値を取得または設定します。

MessageVersion

バインド要素が SOAP または WS-Addressing を使用しないことを示すメッセージのバージョンを取得または設定します。

ReaderQuotas

このバインディングを使用して設定されるエンドポイントにより処理可能な、SOAP メッセージの複雑さに対する制約を取得します。

WriteEncoding

メッセージ テキストの書き込みに使用される文字エンコーディングを取得または設定します。

メソッド

BuildChannelFactory<TChannel>(BindingContext)

指定したコンテキストに対して指定した種類のチャネルを作成するチャネル ファクトリ スタックをクライアント上に作成します。

BuildChannelListener<TChannel>(BindingContext)

指定したコンテキストに対する、指定した種類のチャネルを受け入れるチャネル リスナー スタックをクライアント上に作成します。

CanBuildChannelFactory<TChannel>(BindingContext)

指定した種類のチャネルに対するチャネル ファクトリをバインド要素が作成できるかどうかを示す値を返します。

(継承元 BindingElement)
CanBuildChannelListener<TChannel>(BindingContext)

指定した種類のチャネルとコンテキストに対するリスナーを現在のバインディングが作成できるかどうかを示す値を返します。

Clone()

新しい WebMessageEncodingBindingElement オブジェクトを作成し、現在のオブジェクトを使用して初期化します。

CreateMessageEncoderFactory()

JSON (JavaScript Object Notation) または XML メッセージを書き込めるメッセージ エンコーダーを作成する、メッセージ エンコーダー ファクトリを作成します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetProperty<T>(BindingContext)

チャネル スタックの適切な層から、要求された型のオブジェクトがある場合はそれを返します。ない場合は null を返します。

GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

明示的なインターフェイスの実装

IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext)

バインド要素に格納されているエンコーディング ポリシーから WSDL コントラクト情報を生成します。

IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext)

バインド要素に格納されているエンコーディング ポリシーから WSDL コントラクト情報を生成します。

適用対象