次の方法で共有


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 メッセージングを使用しないシナリオでエンコードを制御するために使用されます。 これらのシナリオには、"Plain Old XML" (POX)、Representational State Transfer (REST)、Really Simple Syndication (RSS) と Atom シンジケーション、非同期 JavaScript および XML (AJAX) が含まれます。 複合メッセージ エンコーダーは SOAP または WS アドレス指定をサポートしていないため、 MessageVersion は常に Noneを返します。

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

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

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

WebMessageEncodingBindingElementには、指定されたコンテンツ タイプに応じて、必要に応じて JSON、XML、または Raw メッセージ デコーダーとエンコーダーを生成するメッセージ エンコーダー ファクトリを作成するCreateMessageEncoderFactoryメソッドがあります。

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()

JavaScript Object Notation (JSON) または 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 コントラクト情報を生成します。

適用対象