DataContractSerializerOperationBehavior Sınıf

Tanım

çalışma zamanı davranışını DataContractSerializertemsil eder.

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
Devralma
DataContractSerializerOperationBehavior
Uygulamalar

Örnekler

Aşağıdaki örnek, bir işlemin davranış koleksiyonunda öğesini bulur DataContractSerializerOperationBehavior ve ve IgnoreExtensionDataObject özelliklerini sıfırlarMaxItemsInObjectGraph.

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

Açıklamalar

, DataContractSerializerOperationBehavior ve IgnoreExtensionDataObject özellikleri gibi seçeneklerin DataContractSerializerMaxItemsInObjectGraph denetimini etkinleştirir. Bu özelliklerden bazıları yalnızca sınıfının oluşturucu kullanılarak ayarlanabilir. Bu durumda, DataContractSerializer yöntemi kullanılarak CreateSerializer değiştirilebilir. Veri sözleşmeleri hakkında daha fazla bilgi için bkz. Veri Sözleşmelerini Kullanma.

özelliği tarafından DataContractSurrogate döndürülen öğesini değiştirmek IDataContractSurrogate için kullanma DataContractSerializerOperationBehavior hakkında daha fazla bilgi için bkz. Veri Sözleşmesi Vekilleri.

Oluşturucular

DataContractSerializerOperationBehavior(OperationDescription)

Belirtilen işlem açıklamasıyla sınıfının yeni bir örneğini DataContractSerializerOperationBehavior başlatır.

DataContractSerializerOperationBehavior(OperationDescription, DataContractFormatAttribute)

Belirtilen işlem açıklaması ve veri sözleşmesi biçimiyle sınıfının yeni bir örneğini DataContractSerializerOperationBehavior başlatır.

Özellikler

DataContractFormatAttribute

DataContractFormatAttribute İşlemle ilişkili öğesini alır.

DataContractResolver

Serileştirme ve seri durumdan çıkarma işlemleri sırasında türleri dinamik olarak eşlemek için kullanılan uygulamasını DataContractResolver alır veya ayarlar.

DataContractSurrogate

Serileştirme ve seri durumdan çıkarma işlemleri sırasında kullanılacak bir vekil alır veya ayarlar.

IgnoreExtensionDataObject

Bir tür uzantısı (ve dolayısıyla veri sözleşmesinde değil) tarafından sağlanan verilerin yoksayılıp yoksayılmayacağını belirten bir değer alır veya ayarlar.

MaxItemsInObjectGraph

Seri hale getirmek veya seri durumdan çıkarabilmek için nesne grafiğindeki en fazla öğe sayısını alır veya ayarlar.

SerializationSurrogateProvider

Serileştirme ve seri durumdan çıkarma işlemleri sırasında kullanılacak bir vekil sağlayıcı alır veya ayarlar.

Yöntemler

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

Serileştirme ve seri durumdan çıkarma işlemleri için öğesinden XmlObjectSerializer devralan bir sınıfın örneğini oluşturur.

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

Ad alanını içeren bir ile serileştirme ve seri durumdan çıkarma işlemleri için öğesinden XmlObjectSerializer devralan bir XmlDictionaryString sınıfın örneğini oluşturur.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

IOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection)

Davranışa bir parametre koleksiyonu ekler.

IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation)

İşleme bir istemci davranışı ekler.

IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation)

davranışı işleme uygular.

IOperationBehavior.Validate(OperationDescription)

İşlemi doğrular.

IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext)

İşlemin WSDL gösterimini dışarı aktarır.

IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext)

Uç nokta açıklamasını WSDL belgesi olarak dışarı aktarır.

Şunlara uygulanır

Ayrıca bkz.