DataContractSerializerOperationBehavior Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta il comportamento runtime di 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
- Ereditarietà
-
DataContractSerializerOperationBehavior
- Implementazioni
Esempio
Nell'esempio seguente, l'oggetto DataContractSerializerOperationBehavior viene individuato nella raccolta dei comportamenti di un'operazione e le proprietà MaxItemsInObjectGraph e IgnoreExtensionDataObject vengono reimpostate.
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
Commenti
DataContractSerializerOperationBehavior attiva il controllo di opzioni DataContractSerializer, quali le proprietà MaxItemsInObjectGraph e IgnoreExtensionDataObject. Alcune di queste proprietà possono essere impostate soltanto utilizzando il costruttore della classe. In questo caso, è possibile sostituire DataContractSerializer utilizzando il metodo CreateSerializer. Per altre informazioni sui contratti dati, vedere Uso dei contratti dati.
Per altre informazioni sull'uso DataContractSerializerOperationBehavior di per sostituire l'oggetto IDataContractSurrogate restituito dalla DataContractSurrogate proprietà , vedere Surrogati del contratto dati.
Costruttori
DataContractSerializerOperationBehavior(OperationDescription) |
Inizializza una nuova istanza della classe DataContractSerializerOperationBehavior con la descrizione dell'operazione specificata. |
DataContractSerializerOperationBehavior(OperationDescription, DataContractFormatAttribute) |
Inizializza una nuova istanza della classe DataContractSerializerOperationBehavior con la descrizione dell'operazione e il formato di contratto dati specificati. |
Proprietà
DataContractFormatAttribute |
Ottiene la classe DataContractFormatAttribute associata all'operazione. |
DataContractResolver |
Ottiene o imposta un'implementazione di DataContractResolver utilizzata per eseguire dinamicamente il mapping dei tipi durante il processi di serializzazione e deserializzazione. |
DataContractSurrogate |
Ottiene o imposta un surrogato da utilizzare durante i processi di serializzazione e deserializzazione. |
IgnoreExtensionDataObject |
Ottiene o imposta un valore che specifica se i dati forniti dall'estensione di un tipo (e pertanto non presenti nel contratto dati) debbano essere ignorati o meno. |
MaxItemsInObjectGraph |
Ottiene o imposta il numero massimo di elementi nell'oggetto grafico da serializzare o deserializzare. |
SerializationSurrogateProvider |
Ottiene o imposta un provider surrogato da usare durante i processi di serializzazione e deserializzazione. |
Metodi
CreateSerializer(Type, String, String, IList<Type>) |
Crea un'istanza di una classe che eredita da XmlObjectSerializer per processi di serializzazione e deserializzazione. |
CreateSerializer(Type, XmlDictionaryString, XmlDictionaryString, IList<Type>) |
Crea un'istanza di una classe che eredita da XmlObjectSerializer per processi di serializzazione e deserializzazione con un oggetto XmlDictionaryString che contiene lo spazio dei nomi. |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
IOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection) |
Aggiunge una raccolta di parametri al comportamento. |
IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation) |
Collega il comportamento di un client all'operazione. |
IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation) |
Applica il comportamento all'operazione. |
IOperationBehavior.Validate(OperationDescription) |
Convalida l'operazione. |
IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext) |
Esporta la rappresentazione WSDL dell'operazione. |
IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext) |
Esporta la descrizione dell'endpoint come documento WSDL. |