DataContractSerializerOperationBehavior Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет поведение во время выполнения 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
- Наследование
-
DataContractSerializerOperationBehavior
- Реализации
Примеры
Следующий пример находит DataContractSerializerOperationBehavior в коллекции поведения для операции и сбрасывает MaxItemsInObjectGraph и 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
Комментарии
DataContractSerializerOperationBehavior позволяет управлять параметрами DataContractSerializer, такими как свойства MaxItemsInObjectGraph и IgnoreExtensionDataObject. Некоторые из этих свойств можно задать только с помощью конструктора класса. В этом случае DataContractSerializer можно заменить с помощью метода CreateSerializer. Дополнительные сведения о контрактах данных см. в разделе Использование контрактов данных.
Дополнительные сведения об использовании DataContractSerializerOperationBehavior для замены IDataContractSurrogate, возвращенной свойством DataContractSurrogate, см. в суррогатныхконтракта данных.
Конструкторы
DataContractSerializerOperationBehavior(OperationDescription, DataContractFormatAttribute) |
Инициализирует новый экземпляр класса DataContractSerializerOperationBehavior с указанным описанием операции и форматом контракта данных. |
DataContractSerializerOperationBehavior(OperationDescription) |
Инициализирует новый экземпляр класса DataContractSerializerOperationBehavior с указанным описанием операции. |
Свойства
DataContractFormatAttribute |
Возвращает DataContractFormatAttribute, связанную с операцией. |
DataContractResolver |
Возвращает или задает реализацию DataContractResolver, которая используется для динамической сопоставления типов во время сериализации и десериализации процессов. |
DataContractSurrogate |
Возвращает или задает суррогат, используемый во время сериализации и десериализации процессов. |
IgnoreExtensionDataObject |
Возвращает или задает значение, указывающее, игнорируются ли данные, предоставляемые расширением типа (и поэтому не в контракте данных). |
MaxItemsInObjectGraph |
Возвращает или задает максимальное количество элементов в графе объектов для сериализации или десериализации. |
SerializationSurrogateProvider |
Возвращает или задает суррогатный поставщик, используемый во время процессов сериализации и десериализации. |
Методы
CreateSerializer(Type, String, String, IList<Type>) |
Создает экземпляр класса, наследуемого от XmlObjectSerializer для процессов сериализации и десериализации. |
CreateSerializer(Type, XmlDictionaryString, XmlDictionaryString, IList<Type>) |
Создает экземпляр класса, наследуемого от XmlObjectSerializer для процессов сериализации и десериализации с XmlDictionaryString, содержащей пространство имен. |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Явные реализации интерфейса
IOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection) |
Добавляет коллекцию параметров в поведение. |
IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation) |
Присоединяет поведение клиента к операции. |
IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation) |
Применяет поведение к операции. |
IOperationBehavior.Validate(OperationDescription) |
Проверяет операцию. |
IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext) |
Экспортирует представление WSDL операции. |
IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext) |
Экспортирует описание конечной точки в виде документа WSDL. |
Применяется к
См. также раздел
- IDataContractSurrogate
- ISerializationSurrogateProvider
- DataContractSerializer
- суррогатные контракта данных
- использование контрактов данных