Bagikan melalui


DataContractSerializerOperationBehavior Kelas

Definisi

Mewakili perilaku run-time DataContractSerializer.

public ref class DataContractSerializerOperationBehavior : System::ServiceModel::Description::IOperationBehavior
public ref class DataContractSerializerOperationBehavior : System::ServiceModel::Description::IOperationBehavior, System::ServiceModel::Description::IWsdlExportExtension
public class DataContractSerializerOperationBehavior : System.ServiceModel.Description.IOperationBehavior
public class DataContractSerializerOperationBehavior : System.ServiceModel.Description.IOperationBehavior, System.ServiceModel.Description.IWsdlExportExtension
type DataContractSerializerOperationBehavior = class
    interface IOperationBehavior
type DataContractSerializerOperationBehavior = class
    interface IOperationBehavior
    interface IWsdlExportExtension
Public Class DataContractSerializerOperationBehavior
Implements IOperationBehavior
Public Class DataContractSerializerOperationBehavior
Implements IOperationBehavior, IWsdlExportExtension
Warisan
DataContractSerializerOperationBehavior
Penerapan

Contoh

Contoh berikut menemukan DataContractSerializerOperationBehavior dalam kumpulan perilaku untuk operasi dan mengatur ulang properti MaxItemsInObjectGraph dan IgnoreExtensionDataObject.

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

Keterangan

DataContractSerializerOperationBehavior memungkinkan kontrol opsi DataContractSerializer, seperti properti MaxItemsInObjectGraph dan IgnoreExtensionDataObject. Beberapa properti ini hanya dapat diatur menggunakan konstruktor kelas. Dalam hal ini, DataContractSerializer dapat diganti menggunakan metode CreateSerializer. Untuk informasi selengkapnya tentang kontrak data, lihat Menggunakan Kontrak Data.

Untuk informasi selengkapnya tentang menggunakan DataContractSerializerOperationBehavior untuk menggantikan IDataContractSurrogate yang dikembalikan oleh properti DataContractSurrogate, lihat Pengganti Kontrak Data.

Konstruktor

DataContractSerializerOperationBehavior(OperationDescription, DataContractFormatAttribute)

Menginisialisasi instans baru kelas DataContractSerializerOperationBehavior dengan deskripsi operasi dan format kontrak data yang ditentukan.

DataContractSerializerOperationBehavior(OperationDescription)

Menginisialisasi instans baru kelas DataContractSerializerOperationBehavior dengan deskripsi operasi yang ditentukan.

Properti

DataContractFormatAttribute

Mendapatkan DataContractFormatAttribute yang terkait dengan operasi.

DataContractResolver

Mendapatkan atau menetapkan implementasi DataContractResolver yang digunakan untuk memetakan jenis secara dinamis selama proses serialisasi dan deserialisasi.

DataContractSurrogate

Mendapatkan atau mengatur pengganti yang akan digunakan selama proses serialisasi dan deserialisasi.

IgnoreExtensionDataObject

Mendapatkan atau menetapkan nilai yang menentukan apakah data yang disediakan oleh ekstensi jenis (dan karenanya tidak dalam kontrak data) diabaikan atau tidak.

MaxItemsInObjectGraph

Mendapatkan atau mengatur jumlah maksimum item dalam grafik objek untuk diserialisasikan atau deserialisasi.

SerializationSurrogateProvider

Mendapatkan atau mengatur penyedia pengganti yang akan digunakan selama proses serialisasi dan deserialisasi.

Metode

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

Membuat instans kelas yang mewarisi dari XmlObjectSerializer untuk proses serialisasi dan deserialisasi.

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

Membuat instans kelas yang mewarisi dari XmlObjectSerializer untuk proses serialisasi dan deserialisasi dengan XmlDictionaryString yang berisi namespace.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Implementasi Antarmuka Eksplisit

IOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection)

Menambahkan kumpulan parameter ke perilaku.

IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation)

Melampirkan perilaku klien ke operasi.

IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation)

Menerapkan perilaku ke operasi.

IOperationBehavior.Validate(OperationDescription)

Memvalidasi operasi.

IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext)

Mengekspor representasi WSDL dari operasi.

IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext)

Mengekspor deskripsi titik akhir sebagai dokumen WSDL.

Berlaku untuk

Lihat juga