Freigeben über


DataContractSerializerOperationBehavior Klasse

Definition

Stellt das Laufzeitverhalten des DataContractSerializerdar.

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 das DataContractSerializerOperationBehavior in der Verhaltensauflistung für einen Vorgang gesucht, und die Eigenschaften MaxItemsInObjectGraph und IgnoreExtensionDataObject werden 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

Das DataContractSerializerOperationBehavior aktiviert die Steuerung der DataContractSerializer-Optionen, wie z. B. die Eigenschaften MaxItemsInObjectGraph und IgnoreExtensionDataObject. Einige dieser Eigenschaften können nur mit dem Konstruktor der Klasse festgelegt werden. In diesem Fall kann das DataContractSerializer mit der CreateSerializer-Methode ersetzt werden. Weitere Informationen zu Datenverträgen finden Sie unter Verwenden von Datenverträgen.

Weitere Informationen zur Verwendung von DataContractSerializerOperationBehavior zum Ersetzen der IDataContractSurrogate von der DataContractSurrogate -Eigenschaft zurückgegebenen finden Sie unter Datenvertrags-Ersatzzeichen.

Konstruktoren

DataContractSerializerOperationBehavior(OperationDescription)

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

DataContractSerializerOperationBehavior(OperationDescription, DataContractFormatAttribute)

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

Eigenschaften

DataContractFormatAttribute

Ruft die DataContractFormatAttribute-Instanz ab, die diesem Vorgang zugeordnet ist.

DataContractResolver

Ruft eine Implementierung vom DataContractResolver ab oder legt sie fest, die verwendet wird, um während Serialisierungs- und Deserialisierungsprozessen Typen dynamisch zuzuordnen.

DataContractSurrogate

Ruft ein Ersatzzeichen ab oder legt dieses fest, das während der Serialisierung oder Deserialisierung der Prozesse verwendet werden soll.

IgnoreExtensionDataObject

Ruft einen Wert ab oder legt diesen fest, der angibt, ob die von einer Erweiterung eines Typs bereitgestellten (und daher nicht im Datenvertrag enthaltenen) Daten ignoriert werden.

MaxItemsInObjectGraph

Ruft die maximale Anzahl von Elementen im Objektdiagramm ab oder legt sie fest, die serialisiert oder deserialisiert werden.

SerializationSurrogateProvider

Ruft einen Ersatzzeichenanbieter ab oder legt diesen fest, der während der Serialisierung oder Deserialisierung der Prozesse verwendet werden soll.

Methoden

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

Erstellt eine Instanz einer Klasse, die vom XmlObjectSerializer für Serialisierungs- und Deserialisierungsprozesse erbt.

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

Erstellt eine Instanz einer Klasse, die vom XmlObjectSerializer für Serialisierungs- und Deserialisierungsprozesse erbt und die den Namespace in einer XmlDictionaryString enthält.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

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

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

IOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection)

Fügt eine Auflistung von Parametern zu dem Verhalten hinzu.

IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation)

Ordnet dem Vorgang ein Clientverhalten zu.

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