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í pro operaci a resetuje MaxItemsInObjectGraph vlastnosti a 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
Poznámky
Umožňuje DataContractSerializerOperationBehavior řízení DataContractSerializer možností, jako MaxItemsInObjectGraph jsou vlastnosti a IgnoreExtensionDataObject . Některé z těchto vlastností lze nastavit pouze pomocí konstruktoru třídy . V takovém případě DataContractSerializer je možné nahradit metodou CreateSerializer . Další informace o kontraktech dat najdete v tématu Použití kontraktů dat.
Další informace o použití DataContractSerializerOperationBehavior k nahrazení vrácenou IDataContractSurrogate vlastností najdete v DataContractSurrogate tématu Náhradní smlouvy dat.
Konstruktory
DataContractSerializerOperationBehavior(OperationDescription) |
Inicializuje novou instanci DataContractSerializerOperationBehavior třídy se zadaným popisem operace. |
DataContractSerializerOperationBehavior(OperationDescription, DataContractFormatAttribute) |
Inicializuje novou instanci DataContractSerializerOperationBehavior třídy se zadaným popisem operace a formátem kontraktu dat. |
Vlastnosti
DataContractFormatAttribute |
DataContractFormatAttribute Získá přidružený k operaci. |
DataContractResolver |
Získá nebo nastaví implementaci DataContractResolver , která se používá k dynamickému mapování typů během procesů serializace a deserializace. |
DataContractSurrogate |
Získá nebo nastaví náhradní použít během procesu serializace a deserializace. |
IgnoreExtensionDataObject |
Získá nebo nastaví hodnotu, která určuje, zda data poskytnutá rozšířením typu (a proto není v kontraktu dat) 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í zprostředkovatele použít během serializace a deserializace procesů. |
Metody
CreateSerializer(Type, String, String, IList<Type>) |
Vytvoří instanci třídy, která dědí z XmlObjectSerializer pro procesy serializace a deserializace. |
CreateSerializer(Type, XmlDictionaryString, XmlDictionaryString, IList<Type>) |
Vytvoří instanci třídy, která dědí z XmlObjectSerializer procesu serializace a deserializace s objektem XmlDictionaryString , který obsahuje obor názvů. |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
IOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection) |
Přidá kolekci parametrů k chování. |
IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation) |
Připojí chování klienta k operaci. |
IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation) |
Použije chování na operaci. |
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. |