Freigeben über


DataContractSerializerOperationBehavior Klasse

Definition

Stellt das Laufzeitverhalten der 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
Vererbung
DataContractSerializerOperationBehavior
Implementiert

Beispiele

Im folgenden Beispiel wird die DataContractSerializerOperationBehavior in der Auflistung von Verhaltensweisen für einen Vorgang ermittelt und die und IgnoreExtensionDataObject die MaxItemsInObjectGraph Eigenschaften zurückgesetzt.

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

Hinweise

Dies DataContractSerializerOperationBehavior ermöglicht die Steuerung von DataContractSerializer Optionen, z. B. die und IgnoreExtensionDataObject die MaxItemsInObjectGraph Eigenschaften. Einige dieser Eigenschaften können nur mithilfe des Konstruktors der Klasse festgelegt werden. In diesem Fall kann die DataContractSerializer Methode mithilfe der CreateSerializer Methode ersetzt werden. Weitere Informationen zu Datenverträgen finden Sie unter Verwenden von Datenverträgen.

Weitere Informationen zum Ersetzen der DataContractSerializerOperationBehaviorIDataContractSurrogate von der DataContractSurrogate Eigenschaft zurückgegebenen Daten finden Sie unter "Datenvertragsübergaben".

Konstruktoren

Name Beschreibung
DataContractSerializerOperationBehavior(OperationDescription, DataContractFormatAttribute)

Initialisiert eine neue Instanz der DataContractSerializerOperationBehavior Klasse mit der angegebenen Vorgangsbeschreibung und dem Datenvertragsformat.

DataContractSerializerOperationBehavior(OperationDescription)

Initialisiert eine neue Instanz der DataContractSerializerOperationBehavior Klasse mit der angegebenen Vorgangsbeschreibung.

Eigenschaften

Name Beschreibung
DataContractFormatAttribute

Ruft den DataContractFormatAttribute zugeordneten Vorgang ab.

DataContractResolver

Dient zum Abrufen oder Festlegen einer Implementierung der, die DataContractResolver verwendet wird, um Typen während der Serialisierung und Deserialisierungsprozesse dynamisch zuzuordnen.

DataContractSurrogate

Dient zum Abrufen oder Festlegen eines Ersatzes, der während der Serialisierungs- und Deserialisierungsprozesse verwendet werden soll.

IgnoreExtensionDataObject

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die von einer Erweiterung eines Typs bereitgestellten Daten (und daher nicht im Datenvertrag) ignoriert werden oder nicht.

MaxItemsInObjectGraph

Dient zum Abrufen oder Festlegen der maximalen Anzahl von Elementen im Objektdiagramm, um serialisieren oder deserialisieren.

SerializationSurrogateProvider

Ruft einen Ersatzanbieter ab, der während der Serialisierungs- und Deserialisierungsprozesse verwendet werden soll, oder legt diesen fest.

Methoden

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

Erstellt eine Instanz einer Klasse, die von XmlObjectSerializer serialisierungs- und Deserialisierungsprozessen erbt.

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

Erstellt eine Instanz einer Klasse, die von XmlObjectSerializer serialisierungs- und Deserialisierungsprozessen mit einem XmlDictionaryString Namespace erbt.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

Name Beschreibung
IOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection)

Fügt dem Verhalten eine Sammlung von Parametern hinzu.

IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation)

Fügt ein Clientverhalten an den Vorgang an.

IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation)

Wendet das Verhalten auf den Vorgang an.

IOperationBehavior.Validate(OperationDescription)

Überprüft den Vorgang.

IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext)

Exportiert die WSDL-Darstellung des Vorgangs.

IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext)

Exportiert die Endpunktbeschreibung als WSDL-Dokument.

Gilt für:

Weitere Informationen