DataContractSerializerOperationBehavior 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í.
Představuje chování za běhu objektu 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
- Dědičnost
-
DataContractSerializerOperationBehavior
- Implementuje
Příklady
Následující příklad najde DataContractSerializerOperationBehavior v kolekci chování operace a resetuje MaxItemsInObjectGraph a IgnoreExtensionDataObject vlastnosti.
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
Poznámky
Umožňuje DataContractSerializerOperationBehavior řízení DataContractSerializer možností, jako jsou vlastnosti MaxItemsInObjectGraph a IgnoreExtensionDataObject možnosti. Některé z těchto vlastností lze nastavit pouze pomocí konstruktoru třídy. V takovém případě DataContractSerializer lze nahradit metodou CreateSerializer . Další informace o kontraktech dat naleznete v tématu Použití kontraktů dat.
Další informace o použití DataContractSerializerOperationBehavior k nahrazení IDataContractSurrogate vrácené DataContractSurrogate vlastností naleznete v tématu Data Contract Náhradnírogates.
Konstruktory
| Name | Description |
|---|---|
| DataContractSerializerOperationBehavior(OperationDescription, DataContractFormatAttribute) |
Inicializuje novou instanci DataContractSerializerOperationBehavior třídy se zadaným popisem operace a formátem kontraktu dat. |
| DataContractSerializerOperationBehavior(OperationDescription) |
Inicializuje novou instanci DataContractSerializerOperationBehavior třídy se zadaným popisem operace. |
Vlastnosti
| Name | Description |
|---|---|
| DataContractFormatAttribute |
DataContractFormatAttribute Získá přidružené k operaci. |
| DataContractResolver |
Získá nebo nastaví implementaci DataContractResolver , která se používá k dynamické mapování typů během serializace a deserializace procesů. |
| DataContractSurrogate |
Získá nebo nastaví náhradní použít během serializace a deserializace procesů. |
| IgnoreExtensionDataObject |
Získá nebo nastaví hodnotu, která určuje, zda jsou data poskytnutá rozšířením typu (a proto nejsou v datovém kontraktu) ignorována nebo ne. |
| MaxItemsInObjectGraph |
Získá nebo nastaví maximální počet položek v grafu objektu serializovat nebo deserializovat. |
| SerializationSurrogateProvider |
Získá nebo nastaví náhradního zprostředkovatele, který se má použít během serializace a deserializace procesů. |
Metody
| Name | Description |
|---|---|
| CreateSerializer(Type, String, String, IList<Type>) |
Vytvoří instanci třídy, která dědí z XmlObjectSerializer procesu serializace a deserializace. |
| CreateSerializer(Type, XmlDictionaryString, XmlDictionaryString, IList<Type>) |
Vytvoří instanci třídy, která dědí z XmlObjectSerializer procesu serializace a deserializace s XmlDictionaryString oborem názvů. |
| 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) |
| 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á kolekci parametrů k chování. |
| IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation) |
Připojí k operaci chování klienta. |
| IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation) |
Použije chování operace. |
| IOperationBehavior.Validate(OperationDescription) |
Ověří operaci. |
| IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext) |
Exportuje reprezentaci WSDL operace. |
| IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext) |
Exportuje popis koncového bodu jako dokument WSDL. |