DataContractSerializerOperationBehavior Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Vertegenwoordigt het runtimegedrag van de 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
- Overname
-
DataContractSerializerOperationBehavior
- Implementeringen
Voorbeelden
In het volgende voorbeeld wordt de DataContractSerializerOperationBehavior verzameling gedrag voor een bewerking gevonden en worden de MaxItemsInObjectGraph en IgnoreExtensionDataObject eigenschappen opnieuw ingesteld.
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
Opmerkingen
Hiermee DataContractSerializerOperationBehavior kunt u het beheer van DataContractSerializer opties, zoals de MaxItemsInObjectGraph en IgnoreExtensionDataObject eigenschappen, inschakelen. Sommige van deze eigenschappen kunnen alleen worden ingesteld met behulp van de constructor van de klasse. In dat geval kan de DataContractSerializer methode worden vervangen CreateSerializer . Zie Gegevenscontracten gebruiken voor meer informatie over gegevenscontracten.
Zie Data Contract Surrogates (Data Contract Surrogates) voor meer informatie over het gebruik van de DataContractSerializerOperationBehavior functie om de IDataContractSurrogate geretourneerde DataContractSurrogate eigenschap te vervangen.
Constructors
| Name | Description |
|---|---|
| DataContractSerializerOperationBehavior(OperationDescription, DataContractFormatAttribute) |
Initialiseert een nieuw exemplaar van de DataContractSerializerOperationBehavior klasse met de opgegeven beschrijving van de bewerking en de indeling van het gegevenscontract. |
| DataContractSerializerOperationBehavior(OperationDescription) |
Initialiseert een nieuw exemplaar van de DataContractSerializerOperationBehavior klasse met de opgegeven beschrijving van de bewerking. |
Eigenschappen
| Name | Description |
|---|---|
| DataContractFormatAttribute |
Hiermee haalt u de DataContractFormatAttribute gekoppelde bewerking op. |
| DataContractResolver |
Hiermee wordt een implementatie opgehaald of ingesteld van de DataContractResolver implementatie die wordt gebruikt om dynamisch typen toe te wijzen tijdens serialisatie- en deserialisatieprocessen. |
| DataContractSurrogate |
Hiermee haalt u een surrogaat op of stelt u deze in voor gebruik tijdens de serialisatie- en deserialisatieprocessen. |
| IgnoreExtensionDataObject |
Hiermee wordt een waarde opgehaald of ingesteld waarmee wordt aangegeven of de gegevens die worden geleverd door een uitbreiding van een type (en dus niet in het gegevenscontract) worden genegeerd of niet. |
| MaxItemsInObjectGraph |
Hiermee wordt het maximum aantal items in de objectgrafiek opgehaald of ingesteld om te serialiseren of deserialiseren. |
Methoden
| Name | Description |
|---|---|
| CreateSerializer(Type, String, String, IList<Type>) |
Hiermee maakt u een exemplaar van een klasse waaruit wordt overgenomen XmlObjectSerializer voor serialisatie- en deserialisatieprocessen. |
| CreateSerializer(Type, XmlDictionaryString, XmlDictionaryString, IList<Type>) |
Hiermee maakt u een exemplaar van een klasse waarvan de processen voor serialisatie en deserialisatie worden overgenomen XmlObjectSerializer met een klasse XmlDictionaryString die de naamruimte bevat. |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
Expliciete interface-implementaties
| Name | Description |
|---|---|
| IOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection) |
Hiermee voegt u een verzameling parameters toe aan het gedrag. |
| IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation) |
Hiermee wordt een clientgedrag gekoppeld aan de bewerking. |
| IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation) |
Hiermee past u het gedrag toe op de bewerking. |
| IOperationBehavior.Validate(OperationDescription) |
Valideert de bewerking. |
| IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext) |
Hiermee exporteert u de WSDL-weergave van de bewerking. |
| IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext) |
Hiermee exporteert u de eindpuntbeschrijving als een WSDL-document. |