XmlSerializerOperationBehavior クラス

定義

操作に関連付けられている XmlSerializer のランタイム動作を制御します。

public ref class XmlSerializerOperationBehavior : System::ServiceModel::Description::IOperationBehavior
public ref class XmlSerializerOperationBehavior : System::ServiceModel::Description::IOperationBehavior, System::ServiceModel::Description::IWsdlExportExtension
public class XmlSerializerOperationBehavior : System.ServiceModel.Description.IOperationBehavior
public class XmlSerializerOperationBehavior : System.ServiceModel.Description.IOperationBehavior, System.ServiceModel.Description.IWsdlExportExtension
type XmlSerializerOperationBehavior = class
    interface IOperationBehavior
type XmlSerializerOperationBehavior = class
    interface IOperationBehavior
    interface IWsdlExportExtension
Public Class XmlSerializerOperationBehavior
Implements IOperationBehavior
Public Class XmlSerializerOperationBehavior
Implements IOperationBehavior, IWsdlExportExtension
継承
XmlSerializerOperationBehavior
実装

次の例では、特定の操作の XmlSerializerOperationBehavior を検索し、シリアライザーの StyleXmlSerializerFormatAttribute プロパティを設定します。

private void Run()
{
    WSHttpBinding b = new WSHttpBinding(SecurityMode.Message);
    Uri baseAddress = new Uri("http://localhost:1066/calculator");
    ServiceHost sh = new ServiceHost(typeof(Calculator), baseAddress);
    sh.AddServiceEndpoint(typeof(ICalculator), b, "");

    // Find the ContractDescription of the operation to find.
    ContractDescription cd = sh.Description.Endpoints[0].Contract;
    OperationDescription myOperationDescription = cd.Operations.Find("Add");

    // Find the serializer behavior.
    XmlSerializerOperationBehavior  serializerBehavior =
        myOperationDescription.Behaviors.
           Find<XmlSerializerOperationBehavior>();

    // If the serializer is not found, create one and add it.
    if (serializerBehavior == null)
    {
        serializerBehavior = new XmlSerializerOperationBehavior(myOperationDescription);
        myOperationDescription.Behaviors.Add(serializerBehavior);
    }

    // Change style of the serialize attribute.
    serializerBehavior.XmlSerializerFormatAttribute.Style = OperationFormatStyle.Document;

    sh.Open();
    Console.WriteLine("Listening");
    Console.ReadLine();
    sh.Close();
}
Private Sub Run()
    Dim b As New WSHttpBinding(SecurityMode.Message)
    Dim baseAddress As New Uri("http://localhost:1066/calculator")
    Dim sh As New ServiceHost(GetType(Calculator), baseAddress)
    sh.AddServiceEndpoint(GetType(ICalculator), b, "")

    ' Find the ContractDescription of the operation to find.
    Dim cd As ContractDescription = sh.Description.Endpoints(0).Contract
    Dim myOperationDescription As OperationDescription = cd.Operations.Find("Add")

    ' Find the serializer behavior.
    Dim serializerBehavior As XmlSerializerOperationBehavior = myOperationDescription.Behaviors. Find(Of XmlSerializerOperationBehavior)()

    ' If the serializer is not found, create one and add it.
    If serializerBehavior Is Nothing Then
        serializerBehavior = New XmlSerializerOperationBehavior(myOperationDescription)
        myOperationDescription.Behaviors.Add(serializerBehavior)
    End If

    ' Change style of the serialize attribute.
    serializerBehavior.XmlSerializerFormatAttribute.Style = OperationFormatStyle.Document

    sh.Open()
    Console.WriteLine("Listening")
    Console.ReadLine()
    sh.Close()
End Sub

注釈

XmlSerializerOperationBehavior を使用して、XmlSerializerStyle プロパティなどの XmlSerializerFormatAttribute オプションを制御できます。

コンストラクター

XmlSerializerOperationBehavior(OperationDescription)

指定した操作を使用して、XmlSerializerOperationBehavior クラスの新しいインスタンスを初期化します。

XmlSerializerOperationBehavior(OperationDescription, XmlSerializerFormatAttribute)

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

プロパティ

XmlSerializerFormatAttribute

SOAP の使用およびフォーマットのオプションを保持するオブジェクトを取得します。

メソッド

Equals(Object)

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

(継承元 Object)
GetHashCode()

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

(継承元 Object)
GetType()

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

(継承元 Object)
GetXmlMappings()

XML スキーマ要素と CLR データ型間のマッピングのコレクションを取得します。

MemberwiseClone()

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

(継承元 Object)
ToString()

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

(継承元 Object)

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

IOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection)

操作の説明にパラメーターのセットを追加します。

IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation)

クライアントの動作を操作に適用します。

IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation)

ディスパッチ動作を操作に適用します。

IOperationBehavior.Validate(OperationDescription)

操作を検証します。

IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext)

操作のデータを WSDL ドキュメントとしてエクスポートします。

IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext)

エンドポイントのデータを WSDL ドキュメントとしてエクスポートします。

適用対象

こちらもご覧ください