XmlSerializerOperationBehavior Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Řídí chování XmlSerializer běhu přidružené k operaci.
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
- Dědičnost
-
XmlSerializerOperationBehavior
- Implementuje
Příklady
Následující příklad najde XmlSerializerOperationBehavior pro konkrétní operaci a nastaví Style vlastnost XmlSerializerFormatAttribute serializátoru.
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
Poznámky
Umožňuje XmlSerializerOperationBehavior kontrolu nad možnostmi XmlSerializer , jako Style je vlastnost XmlSerializerFormatAttribute.
Konstruktory
| Name | Description |
|---|---|
| XmlSerializerOperationBehavior(OperationDescription, XmlSerializerFormatAttribute) |
Inicializuje novou instanci XmlSerializerOperationBehavior třídy. |
| XmlSerializerOperationBehavior(OperationDescription) |
Inicializuje novou instanci XmlSerializerOperationBehavior třídy s konkrétní operací. |
Vlastnosti
| Name | Description |
|---|---|
| XmlSerializerFormatAttribute |
Získá objekt, který obsahuje soap použití a formát možnosti. |
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| GetXmlMappings() |
Získá kolekci mapování mezi elementy schématu XML a datovými typy CLR. |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
| Name | Description |
|---|---|
| IOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection) |
Přidá sadu parametrů do popisu operace. |
| IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation) |
Použije chování klienta na operaci. |
| IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation) |
Použije chování při odesílání na operaci. |
| IOperationBehavior.Validate(OperationDescription) |
Ověří operaci. |
| IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext) |
Exportuje data operace jako dokument WSDL. |
| IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext) |
Exportuje data koncového bodu jako dokument WSDL. |