DataContractSerializerOperationBehavior Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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. |