DataContractSerializerOperationBehavior Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje zachowanie w czasie wykonywania elementu 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
- Dziedziczenie
-
DataContractSerializerOperationBehavior
- Implementuje
Przykłady
Poniższy przykład znajduje element DataContractSerializerOperationBehavior w kolekcji zachowań operacji i resetuje MaxItemsInObjectGraph właściwości i 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
Uwagi
Funkcja DataContractSerializerOperationBehavior umożliwia sterowanie DataContractSerializer opcjami, takimi jak MaxItemsInObjectGraph właściwości i IgnoreExtensionDataObject . Niektóre z tych właściwości można ustawić tylko przy użyciu konstruktora klasy. W takim przypadku DataContractSerializer można zastąpić metodę CreateSerializer . Aby uzyskać więcej informacji na temat kontraktów danych, zobacz Using Data Contracts (Używanie kontraktów danych).
Aby uzyskać więcej informacji na temat używania elementu DataContractSerializerOperationBehavior , aby zastąpić IDataContractSurrogate zwracaną przez DataContractSurrogate właściwość, zobacz Zastępcy kontraktu danych.
Konstruktory
DataContractSerializerOperationBehavior(OperationDescription) |
Inicjuje DataContractSerializerOperationBehavior nowe wystąpienie klasy z określonym opisem operacji. |
DataContractSerializerOperationBehavior(OperationDescription, DataContractFormatAttribute) |
Inicjuje DataContractSerializerOperationBehavior nowe wystąpienie klasy z określonym opisem operacji i formatem kontraktu danych. |
Właściwości
DataContractFormatAttribute |
DataContractFormatAttribute Pobiera skojarzony z operacją. |
DataContractResolver |
Pobiera lub ustawia implementację, która jest używana do dynamicznego DataContractResolver mapowania typów podczas procesów serializacji i deserializacji. |
DataContractSurrogate |
Pobiera lub ustawia surogat do użycia podczas procesów serializacji i deserializacji. |
IgnoreExtensionDataObject |
Pobiera lub ustawia wartość określającą, czy dane dostarczone przez rozszerzenie typu (a zatem nie w kontrakcie danych) są ignorowane, czy nie. |
MaxItemsInObjectGraph |
Pobiera lub ustawia maksymalną liczbę elementów na grafie obiektu w celu serializacji lub deserializacji. |
SerializationSurrogateProvider |
Pobiera lub ustawia dostawcę zastępczego do użycia podczas procesów serializacji i deserializacji. |
Metody
CreateSerializer(Type, String, String, IList<Type>) |
Tworzy wystąpienie klasy dziedziczonej z XmlObjectSerializer procesów serializacji i deserializacji. |
CreateSerializer(Type, XmlDictionaryString, XmlDictionaryString, IList<Type>) |
Tworzy wystąpienie klasy dziedziczonej z XmlObjectSerializer procesów serializacji i deserializacji z elementem zawierającym XmlDictionaryString przestrzeń nazw. |
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) |
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 kolekcję parametrów do zachowania. |
IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation) |
Dołącza zachowanie klienta do operacji. |
IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation) |
Stosuje zachowanie do operacji. |
IOperationBehavior.Validate(OperationDescription) |
Weryfikuje operację. |
IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext) |
Eksportuje reprezentację WSDL operacji. |
IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext) |
Eksportuje opis punktu końcowego jako dokument WSDL. |