DataContractSerializerOperationBehavior Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
- IDataContractSurrogate
- ISerializationSurrogateProvider
- DataContractSerializer
- Pengganti Kontrak Data
- Menggunakan Kontrak Data