Bagikan melalui


DataContractSerializerOperationBehavior Kelas

Definisi

Merepresentasikan perilaku run-time dari 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 MaxItemsInObjectGraph properti 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 DataContractSerializer opsi, seperti MaxItemsInObjectGraph properti dan IgnoreExtensionDataObject . Beberapa properti ini hanya dapat diatur menggunakan konstruktor kelas . Dalam hal ini, DataContractSerializer dapat diganti menggunakan CreateSerializer metode . Untuk informasi selengkapnya tentang kontrak data, lihat Menggunakan Kontrak Data.

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

Konstruktor

DataContractSerializerOperationBehavior(OperationDescription)

Menginisialisasi instans DataContractSerializerOperationBehavior baru kelas dengan deskripsi operasi yang ditentukan.

DataContractSerializerOperationBehavior(OperationDescription, DataContractFormatAttribute)

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

Properti

DataContractFormatAttribute

Mendapatkan yang DataContractFormatAttribute 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 dideserialisasi.

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 dari instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(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