DataContractSerializerOperationBehavior DataContractSerializerOperationBehavior DataContractSerializerOperationBehavior DataContractSerializerOperationBehavior Class

定義

DataContractSerializerのランタイム動作を表します。Represents the run-time behavior of the DataContractSerializer.

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

操作の動作のコレクションで DataContractSerializerOperationBehavior を検索し、MaxItemsInObjectGraph プロパティおよび IgnoreExtensionDataObject プロパティをリセットする方法を次の例に示します。The following example finds the DataContractSerializerOperationBehavior in the collection of behaviors for an operation and resets the MaxItemsInObjectGraph and IgnoreExtensionDataObject properties.

private void DataContractBehavior()
{
    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.
    DataContractSerializerOperationBehavior serializerBehavior =
        myOperationDescription.Behaviors.
           Find<DataContractSerializerOperationBehavior>();

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

    // Change the settings of the behavior.
    serializerBehavior.MaxItemsInObjectGraph = 10000;
    serializerBehavior.IgnoreExtensionDataObject = true;
    
    sh.Open();
    Console.WriteLine("Listening");
    Console.ReadLine();
}
Private Sub DataContractBehavior() 
    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 DataContractSerializerOperationBehavior = _
    myOperationDescription.Behaviors.Find _
    (Of DataContractSerializerOperationBehavior)()
    
    ' If the serializer is not found, create one and add it.
    If serializerBehavior Is Nothing Then
        serializerBehavior = New DataContractSerializerOperationBehavior(myOperationDescription)
        myOperationDescription.Behaviors.Add(serializerBehavior)
    End If
    
    ' Change settings of the behavior.
    serializerBehavior.MaxItemsInObjectGraph = 10000
    serializerBehavior.IgnoreExtensionDataObject = True
    
    sh.Open()
    Console.WriteLine("Listening")
    Console.ReadLine()

End Sub 

注釈

DataContractSerializerOperationBehavior を使用して、DataContractSerializer プロパティや MaxItemsInObjectGraph プロパティなどの IgnoreExtensionDataObject のオプションを制御できます。The DataContractSerializerOperationBehavior enables the control of DataContractSerializer options, such as the MaxItemsInObjectGraph and IgnoreExtensionDataObject properties. これらのプロパティの一部は、クラスのコンストラクターを使用することによってのみ設定できます。Some of these properties can be set only using the constructor of the class. その場合、DataContractSerializer メソッドを使用して CreateSerializer を置き換えることができます。In that case, the DataContractSerializer can be replaced using the CreateSerializer method. データ コントラクトの詳細については、次を参照してください。 Using Data Contractsします。For more information about data contracts, see Using Data Contracts.

使用しての詳細については、DataContractSerializerOperationBehaviorを置き換える、IDataContractSurrogateによって返される、DataContractSurrogateプロパティを参照してくださいデータ コントラクト サロゲートします。For more information about using the DataContractSerializerOperationBehavior to replace the IDataContractSurrogate returned by the DataContractSurrogate property, see Data Contract Surrogates.

コンストラクター

DataContractSerializerOperationBehavior(OperationDescription) DataContractSerializerOperationBehavior(OperationDescription) DataContractSerializerOperationBehavior(OperationDescription) DataContractSerializerOperationBehavior(OperationDescription)

指定した操作の説明を使用して、DataContractSerializerOperationBehavior クラスの新しいインスタンスを初期化します。Initializes a new instance of the DataContractSerializerOperationBehavior class with the specified operation description.

DataContractSerializerOperationBehavior(OperationDescription, DataContractFormatAttribute) DataContractSerializerOperationBehavior(OperationDescription, DataContractFormatAttribute) DataContractSerializerOperationBehavior(OperationDescription, DataContractFormatAttribute) DataContractSerializerOperationBehavior(OperationDescription, DataContractFormatAttribute)

指定した操作の説明とデータ コントラクト形式を使用して、DataContractSerializerOperationBehavior クラスの新しいインスタンスを初期化します。Initializes a new instance of the DataContractSerializerOperationBehavior class with the specified operation description and data contract format.

プロパティ

DataContractFormatAttribute DataContractFormatAttribute DataContractFormatAttribute DataContractFormatAttribute

操作に関連付けられた DataContractFormatAttribute を取得します。Gets the DataContractFormatAttribute associated with the operation.

DataContractResolver DataContractResolver DataContractResolver DataContractResolver

シリアル化プロセスおよび逆シリアル化プロセスの際に型を動的にマップするために使用される DataContractResolver の実装を取得または設定します。Gets or sets an implementation of the DataContractResolver that is used to dynamically map types during serialization and deserialization processes.

DataContractSurrogate DataContractSurrogate DataContractSurrogate DataContractSurrogate

シリアル化および逆シリアル化プロセスの際に使用されるサロゲートを取得または設定します。Gets or sets a surrogate to be used during the serialization and deserialization processes.

IgnoreExtensionDataObject IgnoreExtensionDataObject IgnoreExtensionDataObject IgnoreExtensionDataObject

型の拡張により提供される (したがって、データ コントラクトには含まれない) データを無視するかどうかを指定する値を取得または設定します。Gets or sets a value that specifies whether the data provided by an extension of a type (and therefore not in the data contract) is ignored or not.

MaxItemsInObjectGraph MaxItemsInObjectGraph MaxItemsInObjectGraph MaxItemsInObjectGraph

シリアル化または逆シリアル化するオブジェクト グラフ内の項目の最大数を取得または設定します。Gets or sets the maximum number of items in the object graph to serialize or deserialize.

メソッド

CreateSerializer(Type, String, String, IList<Type>) CreateSerializer(Type, String, String, IList<Type>) CreateSerializer(Type, String, String, IList<Type>) CreateSerializer(Type, String, String, IList<Type>)

シリアル化プロセスおよび逆シリアル化プロセスのために、XmlObjectSerializer を継承するクラスのインスタンスを作成します。Creates an instance of a class that inherits from XmlObjectSerializer for serialization and deserialization processes.

CreateSerializer(Type, XmlDictionaryString, XmlDictionaryString, IList<Type>) CreateSerializer(Type, XmlDictionaryString, XmlDictionaryString, IList<Type>) CreateSerializer(Type, XmlDictionaryString, XmlDictionaryString, IList<Type>) CreateSerializer(Type, XmlDictionaryString, XmlDictionaryString, IList<Type>)

名前空間を含む XmlObjectSerializer を使用して、シリアル化プロセスおよび逆シリアル化プロセスのために、XmlDictionaryString を継承するクラスのインスタンスを作成します。Creates an instance of a class that inherits from XmlObjectSerializer for serialization and deserialization processes with an XmlDictionaryString that contains the namespace.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

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

IOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection) IOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection) IOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection) IOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection)

動作にパラメーターのコレクションを追加します。Adds a collection of parameters to the behavior.

IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation) IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation) IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation) IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation)

操作にクライアントの動作を関連付けます。Attaches a client behavior to the operation.

IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation) IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation) IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation) IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation)

操作に動作を適用します。Applies the behavior to the operation.

IOperationBehavior.Validate(OperationDescription) IOperationBehavior.Validate(OperationDescription) IOperationBehavior.Validate(OperationDescription) IOperationBehavior.Validate(OperationDescription)

操作を検証します。Validates the operation.

IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext) IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext) IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext) IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext)

操作の WSDL 表現をエクスポートします。Exports the WSDL representation of the operation.

IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext) IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext) IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext) IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext)

エンドポイントの説明を WSDL ドキュメントとしてエクスポートします。Exports the endpoint description as a WSDL document.

適用対象

こちらもご覧ください