DataContractSerializerOperationBehavior Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt das Laufzeitverhalten des DataContractSerializerdar.
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
- Vererbung
-
DataContractSerializerOperationBehavior
- Implementiert
Beispiele
Im folgenden Beispiel wird das DataContractSerializerOperationBehavior in der Verhaltensauflistung für einen Vorgang gesucht, und die Eigenschaften MaxItemsInObjectGraph und IgnoreExtensionDataObject werden zurückgesetzt.
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
Hinweise
Das DataContractSerializerOperationBehavior aktiviert die Steuerung der DataContractSerializer-Optionen, wie z. B. die Eigenschaften MaxItemsInObjectGraph und IgnoreExtensionDataObject. Einige dieser Eigenschaften können nur mit dem Konstruktor der Klasse festgelegt werden. In diesem Fall kann das DataContractSerializer mit der CreateSerializer-Methode ersetzt werden. Weitere Informationen zu Datenverträgen finden Sie unter Verwenden von Datenverträgen.
Weitere Informationen zur Verwendung von DataContractSerializerOperationBehavior zum Ersetzen der IDataContractSurrogate von der DataContractSurrogate -Eigenschaft zurückgegebenen finden Sie unter Datenvertrags-Ersatzzeichen.
Konstruktoren
DataContractSerializerOperationBehavior(OperationDescription) |
Initialisiert eine neue Instanz der DataContractSerializerOperationBehavior-Klasse mit der angegebenen Vorgangsbeschreibung. |
DataContractSerializerOperationBehavior(OperationDescription, DataContractFormatAttribute) |
Initialisiert eine neue Instanz der DataContractSerializerOperationBehavior-Klasse mit der angegebenen Vorgangsbeschreibung und dem angegebenen Datenvertragsformat. |
Eigenschaften
DataContractFormatAttribute |
Ruft die DataContractFormatAttribute-Instanz ab, die diesem Vorgang zugeordnet ist. |
DataContractResolver |
Ruft eine Implementierung vom DataContractResolver ab oder legt sie fest, die verwendet wird, um während Serialisierungs- und Deserialisierungsprozessen Typen dynamisch zuzuordnen. |
DataContractSurrogate |
Ruft ein Ersatzzeichen ab oder legt dieses fest, das während der Serialisierung oder Deserialisierung der Prozesse verwendet werden soll. |
IgnoreExtensionDataObject |
Ruft einen Wert ab oder legt diesen fest, der angibt, ob die von einer Erweiterung eines Typs bereitgestellten (und daher nicht im Datenvertrag enthaltenen) Daten ignoriert werden. |
MaxItemsInObjectGraph |
Ruft die maximale Anzahl von Elementen im Objektdiagramm ab oder legt sie fest, die serialisiert oder deserialisiert werden. |
SerializationSurrogateProvider |
Ruft einen Ersatzzeichenanbieter ab oder legt diesen fest, der während der Serialisierung oder Deserialisierung der Prozesse verwendet werden soll. |
Methoden
CreateSerializer(Type, String, String, IList<Type>) |
Erstellt eine Instanz einer Klasse, die vom XmlObjectSerializer für Serialisierungs- und Deserialisierungsprozesse erbt. |
CreateSerializer(Type, XmlDictionaryString, XmlDictionaryString, IList<Type>) |
Erstellt eine Instanz einer Klasse, die vom XmlObjectSerializer für Serialisierungs- und Deserialisierungsprozesse erbt und die den Namespace in einer XmlDictionaryString enthält. |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
IOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection) |
Fügt eine Auflistung von Parametern zu dem Verhalten hinzu. |
IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation) |
Ordnet dem Vorgang ein Clientverhalten zu. |
IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation) |
Wendet das Verhalten auf den Vorgang an. |
IOperationBehavior.Validate(OperationDescription) |
Überprüft den Vorgang. |
IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext) |
Exportiert die WSDL-Darstellung des Vorgangs. |
IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext) |
Exportiert die Endpunktbeschreibung als WSDL-Dokument. |