DataContractSerializerOperationBehavior Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Representerar körningsbeteendet för 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
- Arv
-
DataContractSerializerOperationBehavior
- Implementeringar
Exempel
I följande exempel hittar du DataContractSerializerOperationBehavior i samlingen med beteenden för en åtgärd och återställer MaxItemsInObjectGraph egenskaperna och 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
Kommentarer
DataContractSerializerOperationBehavior Aktiverar kontrollen över DataContractSerializer alternativ, till exempel MaxItemsInObjectGraph egenskaperna ochIgnoreExtensionDataObject. Vissa av dessa egenskaper kan bara anges med hjälp av konstruktorn för klassen. I så fall DataContractSerializer kan du ersätta med hjälp av CreateSerializer metoden . Mer information om datakontrakt finns i Använda datakontrakt.
Mer information om hur du använder DataContractSerializerOperationBehavior för att ersätta den IDataContractSurrogate som returneras av DataContractSurrogate egenskapen finns i Data Contract Surrogates(Data contract surrogates).
Konstruktorer
| Name | Description |
|---|---|
| DataContractSerializerOperationBehavior(OperationDescription, DataContractFormatAttribute) |
Initierar en ny instans av DataContractSerializerOperationBehavior klassen med den angivna åtgärdsbeskrivningen och datakontraktsformatet. |
| DataContractSerializerOperationBehavior(OperationDescription) |
Initierar en ny instans av DataContractSerializerOperationBehavior klassen med den angivna åtgärdsbeskrivningen. |
Egenskaper
| Name | Description |
|---|---|
| DataContractFormatAttribute |
Hämtar den DataContractFormatAttribute associerade åtgärden. |
| DataContractResolver |
Hämtar eller anger en implementering av DataContractResolver som används för att dynamiskt mappa typer under serialiserings- och deserialiseringsprocesser. |
| DataContractSurrogate |
Hämtar eller ställer in en surrogat som ska användas under serialiserings- och deserialiseringsprocesserna. |
| IgnoreExtensionDataObject |
Hämtar eller anger ett värde som anger om data som tillhandahålls av ett tillägg av en typ (och därför inte i datakontraktet) ignoreras eller inte. |
| MaxItemsInObjectGraph |
Hämtar eller anger det maximala antalet objekt i objektdiagrammet som ska serialiseras eller deserialiseras. |
| SerializationSurrogateProvider |
Hämtar eller anger en surrogatprovider som ska användas under serialiserings- och deserialiseringsprocesserna. |
Metoder
| Name | Description |
|---|---|
| CreateSerializer(Type, String, String, IList<Type>) |
Skapar en instans av en klass som ärver från XmlObjectSerializer för serialiserings- och deserialiseringsprocesser. |
| CreateSerializer(Type, XmlDictionaryString, XmlDictionaryString, IList<Type>) |
Skapar en instans av en klass som ärver från XmlObjectSerializer för serialiserings- och deserialiseringsprocesser med en XmlDictionaryString som innehåller namnområdet. |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
Explicita gränssnittsimplementeringar
| Name | Description |
|---|---|
| IOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection) |
Lägger till en samling parametrar i beteendet. |
| IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation) |
Kopplar ett klientbeteende till åtgärden. |
| IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation) |
Tillämpar beteendet på åtgärden. |
| IOperationBehavior.Validate(OperationDescription) |
Verifierar åtgärden. |
| IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext) |
Exporterar WSDL-representationen av åtgärden. |
| IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext) |
Exporterar slutpunktsbeskrivningen som ett WSDL-dokument. |