Partager via


DataContractSerializerOperationBehavior Classe

Définition

Représente le comportement à l'exécution 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
Héritage
DataContractSerializerOperationBehavior
Implémente

Exemples

L'exemple suivant recherche DataContractSerializerOperationBehavior dans la collection de comportements pour une opération et réinitialise les propriétés MaxItemsInObjectGraph et 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

Remarques

DataContractSerializerOperationBehavior permet de déterminer les options DataContractSerializer, comme les propriétés MaxItemsInObjectGraph et IgnoreExtensionDataObject. Certaines de ces propriétés ne peuvent être définies qu'à l'aide du constructeur de la classe. Dans ce cas, l'objet DataContractSerializer peut être remplacé à l'aide de la méthode CreateSerializer. Pour plus d’informations sur les contrats de données, consultez Utilisation des contrats de données.

Pour plus d’informations sur l’utilisation de DataContractSerializerOperationBehavior pour remplacer le IDataContractSurrogate retourné par la DataContractSurrogate propriété, consultez Substitutions de contrat de données.

Constructeurs

DataContractSerializerOperationBehavior(OperationDescription)

Initialise une nouvelle instance de la classe DataContractSerializerOperationBehavior avec la description de l'opération spécifiée.

DataContractSerializerOperationBehavior(OperationDescription, DataContractFormatAttribute)

Initialise une nouvelle instance de la classe DataContractSerializerOperationBehavior avec la description de l'opération spécifiée et le format de contrat des données.

Propriétés

DataContractFormatAttribute

Obtient l'objet DataContractFormatAttribute associé à l'opération.

DataContractResolver

Obtient ou définit une implémentation du DataContractResolver utilisé pour mapper dynamiquement les types pendant les processus de sérialisation et de désérialisation.

DataContractSurrogate

Obtient ou définit une substitution à utiliser lors des processus de sérialisation et de désérialisation.

IgnoreExtensionDataObject

Obtient ou définit une valeur qui indique si les données fournies par une extension d’un type (et par conséquent absentes du contrat de données) sont ignorées ou non.

MaxItemsInObjectGraph

Obtient ou définit le nombre maximal d'éléments à sérialiser ou désérialiser dans le graphique d'objets.

SerializationSurrogateProvider

Récupère ou définit un fournisseur de substitution à utiliser lors des processus de sérialisation et de désérialisation.

Méthodes

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

Crée une instance d'une classe qui hérite de XmlObjectSerializer pour les processus de sérialisation et de désérialisation.

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

Crée une instance d'une classe qui hérite de XmlObjectSerializer pour les processus de sérialisation et de désérialisation avec un XmlDictionaryString qui contient l'espace de noms.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Implémentations d’interfaces explicites

IOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection)

Ajoute une collection de paramètres au comportement.

IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation)

Attache un comportement client à l'opération.

IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation)

Applique le comportement à l'opération.

IOperationBehavior.Validate(OperationDescription)

Valide l'opération.

IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext)

Exporte la représentation WSDL de l'opération.

IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext)

Exporte la description du point de terminaison en tant que document WSDL.

S’applique à

Voir aussi