DataContractSerializerOperationBehavior Klas

Definitie

Vertegenwoordigt het runtimegedrag van de 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
Overname
DataContractSerializerOperationBehavior
Implementeringen

Voorbeelden

In het volgende voorbeeld wordt de DataContractSerializerOperationBehavior verzameling gedrag voor een bewerking gevonden en worden de MaxItemsInObjectGraph en IgnoreExtensionDataObject eigenschappen opnieuw ingesteld.

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

Opmerkingen

Hiermee DataContractSerializerOperationBehavior kunt u het beheer van DataContractSerializer opties, zoals de MaxItemsInObjectGraph en IgnoreExtensionDataObject eigenschappen, inschakelen. Sommige van deze eigenschappen kunnen alleen worden ingesteld met behulp van de constructor van de klasse. In dat geval kan de DataContractSerializer methode worden vervangen CreateSerializer . Zie Gegevenscontracten gebruiken voor meer informatie over gegevenscontracten.

Zie Data Contract Surrogates (Data Contract Surrogates) voor meer informatie over het gebruik van de DataContractSerializerOperationBehavior functie om de IDataContractSurrogate geretourneerde DataContractSurrogate eigenschap te vervangen.

Constructors

Name Description
DataContractSerializerOperationBehavior(OperationDescription, DataContractFormatAttribute)

Initialiseert een nieuw exemplaar van de DataContractSerializerOperationBehavior klasse met de opgegeven beschrijving van de bewerking en de indeling van het gegevenscontract.

DataContractSerializerOperationBehavior(OperationDescription)

Initialiseert een nieuw exemplaar van de DataContractSerializerOperationBehavior klasse met de opgegeven beschrijving van de bewerking.

Eigenschappen

Name Description
DataContractFormatAttribute

Hiermee haalt u de DataContractFormatAttribute gekoppelde bewerking op.

DataContractResolver

Hiermee wordt een implementatie opgehaald of ingesteld van de DataContractResolver implementatie die wordt gebruikt om dynamisch typen toe te wijzen tijdens serialisatie- en deserialisatieprocessen.

DataContractSurrogate

Hiermee haalt u een surrogaat op of stelt u deze in voor gebruik tijdens de serialisatie- en deserialisatieprocessen.

IgnoreExtensionDataObject

Hiermee wordt een waarde opgehaald of ingesteld waarmee wordt aangegeven of de gegevens die worden geleverd door een uitbreiding van een type (en dus niet in het gegevenscontract) worden genegeerd of niet.

MaxItemsInObjectGraph

Hiermee wordt het maximum aantal items in de objectgrafiek opgehaald of ingesteld om te serialiseren of deserialiseren.

Methoden

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

Hiermee maakt u een exemplaar van een klasse waaruit wordt overgenomen XmlObjectSerializer voor serialisatie- en deserialisatieprocessen.

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

Hiermee maakt u een exemplaar van een klasse waarvan de processen voor serialisatie en deserialisatie worden overgenomen XmlObjectSerializer met een klasse XmlDictionaryString die de naamruimte bevat.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Expliciete interface-implementaties

Name Description
IOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection)

Hiermee voegt u een verzameling parameters toe aan het gedrag.

IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation)

Hiermee wordt een clientgedrag gekoppeld aan de bewerking.

IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation)

Hiermee past u het gedrag toe op de bewerking.

IOperationBehavior.Validate(OperationDescription)

Valideert de bewerking.

IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext)

Hiermee exporteert u de WSDL-weergave van de bewerking.

IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext)

Hiermee exporteert u de eindpuntbeschrijving als een WSDL-document.

Van toepassing op

Zie ook