Condividi tramite


XmlSerializerOperationBehavior Classe

Definizione

Controlla il comportamento in fase di esecuzione dell'oggetto XmlSerializer associato a un'operazione.

public ref class XmlSerializerOperationBehavior : System::ServiceModel::Description::IOperationBehavior
public ref class XmlSerializerOperationBehavior : System::ServiceModel::Description::IOperationBehavior, System::ServiceModel::Description::IWsdlExportExtension
public class XmlSerializerOperationBehavior : System.ServiceModel.Description.IOperationBehavior
public class XmlSerializerOperationBehavior : System.ServiceModel.Description.IOperationBehavior, System.ServiceModel.Description.IWsdlExportExtension
type XmlSerializerOperationBehavior = class
    interface IOperationBehavior
type XmlSerializerOperationBehavior = class
    interface IOperationBehavior
    interface IWsdlExportExtension
Public Class XmlSerializerOperationBehavior
Implements IOperationBehavior
Public Class XmlSerializerOperationBehavior
Implements IOperationBehavior, IWsdlExportExtension
Ereditarietà
XmlSerializerOperationBehavior
Implementazioni

Esempio

Nell'esempio seguente viene trovato l'oggetto XmlSerializerOperationBehavior per un'operazione specifica e viene impostata la proprietà Style di XmlSerializerFormatAttribute per il serializzatore.

private void Run()
{
    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.
    XmlSerializerOperationBehavior  serializerBehavior =
        myOperationDescription.Behaviors.
           Find<XmlSerializerOperationBehavior>();

    // If the serializer is not found, create one and add it.
    if (serializerBehavior == null)
    {
        serializerBehavior = new XmlSerializerOperationBehavior(myOperationDescription);
        myOperationDescription.Behaviors.Add(serializerBehavior);
    }

    // Change style of the serialize attribute.
    serializerBehavior.XmlSerializerFormatAttribute.Style = OperationFormatStyle.Document;

    sh.Open();
    Console.WriteLine("Listening");
    Console.ReadLine();
    sh.Close();
}
Private Sub Run()
    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 XmlSerializerOperationBehavior = myOperationDescription.Behaviors. Find(Of XmlSerializerOperationBehavior)()

    ' If the serializer is not found, create one and add it.
    If serializerBehavior Is Nothing Then
        serializerBehavior = New XmlSerializerOperationBehavior(myOperationDescription)
        myOperationDescription.Behaviors.Add(serializerBehavior)
    End If

    ' Change style of the serialize attribute.
    serializerBehavior.XmlSerializerFormatAttribute.Style = OperationFormatStyle.Document

    sh.Open()
    Console.WriteLine("Listening")
    Console.ReadLine()
    sh.Close()
End Sub

Commenti

XmlSerializerOperationBehavior attiva il controllo di opzioni XmlSerializer, quali la proprietà Style di XmlSerializerFormatAttribute.

Costruttori

XmlSerializerOperationBehavior(OperationDescription)

Inizializza una nuova istanza della classe XmlSerializerOperationBehavior con un'operazione specifica.

XmlSerializerOperationBehavior(OperationDescription, XmlSerializerFormatAttribute)

Inizializza una nuova istanza della classe XmlSerializerOperationBehavior.

Proprietà

XmlSerializerFormatAttribute

Ottiene l'oggetto che contiene le opzioni di formattazione e di utilizzo di SOAP.

Metodi

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)
GetXmlMappings()

Ottiene la raccolta di mapping tra gli elementi dello XML Schema e i tipi di dati CLR.

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 un set di parametri a una descrizione dell'operazione.

IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation)

Applica il comportamento di un client all'operazione.

IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation)

Applica il comportamento di distribuzione all'operazione.

IOperationBehavior.Validate(OperationDescription)

Convalida l'operazione.

IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext)

Esporta i dati dell'operazione come documento WSDL.

IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext)

Esporta i dati dell'endpoint come documento WSDL.

Si applica a

Vedi anche