Udostępnij za pośrednictwem


XmlSerializerOperationBehavior Klasa

Definicja

Steruje zachowaniem czasu wykonywania skojarzonego XmlSerializer z operacją.

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
Dziedziczenie
XmlSerializerOperationBehavior
Implementuje

Przykłady

Poniższy przykład znajduje XmlSerializerOperationBehavior element dla określonej operacji i ustawia Style właściwość XmlSerializerFormatAttribute dla serializatora.

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

Uwagi

Umożliwia XmlSerializerOperationBehavior sterowanie XmlSerializer opcjami, takimi jak Style właściwość XmlSerializerFormatAttribute.

Konstruktory

XmlSerializerOperationBehavior(OperationDescription)

Inicjuje XmlSerializerOperationBehavior nowe wystąpienie klasy z określoną operacją.

XmlSerializerOperationBehavior(OperationDescription, XmlSerializerFormatAttribute)

Inicjuje nowe wystąpienie klasy XmlSerializerOperationBehavior.

Właściwości

XmlSerializerFormatAttribute

Pobiera obiekt, który przechowuje opcje użycia protokołu SOAP i formatowania.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
GetXmlMappings()

Pobiera kolekcję mapowań między elementami schematu XML i typami danych CLR.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

IOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection)

Dodaje zestaw parametrów do opisu operacji.

IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation)

Stosuje zachowanie klienta do operacji.

IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation)

Stosuje zachowanie wysyłania do operacji.

IOperationBehavior.Validate(OperationDescription)

Weryfikuje operację.

IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext)

Eksportuje dane operacji jako dokument WSDL.

IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext)

Eksportuje dane punktu końcowego jako dokument WSDL.

Dotyczy

Zobacz też