|
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
namespace System.ServiceModel.Configuration
{
using System.ComponentModel;
using System.Configuration;
using System.Globalization;
using System.Net.Security;
using System.ServiceModel.Security;
using System.ServiceModel.Dispatcher;
using System.ServiceModel.Description;
public sealed partial class DataContractSerializerElement : BehaviorExtensionElement
{
public DataContractSerializerElement()
{
}
[ConfigurationProperty(ConfigurationStrings.IgnoreExtensionDataObject, DefaultValue = DataContractSerializerDefaults.IgnoreExtensionDataObject)]
public bool IgnoreExtensionDataObject
{
get { return (bool)base[ConfigurationStrings.IgnoreExtensionDataObject]; }
set { base[ConfigurationStrings.IgnoreExtensionDataObject] = value; }
}
[ConfigurationProperty(ConfigurationStrings.MaxItemsInObjectGraph, DefaultValue = DataContractSerializerDefaults.MaxItemsInObjectGraph)]
[IntegerValidator(MinValue = 0)]
public int MaxItemsInObjectGraph
{
get { return (int)base[ConfigurationStrings.MaxItemsInObjectGraph]; }
set { base[ConfigurationStrings.MaxItemsInObjectGraph] = value; }
}
public override void CopyFrom(ServiceModelExtensionElement from)
{
base.CopyFrom(from);
DataContractSerializerElement source = (DataContractSerializerElement)from;
#pragma warning suppress 56506 //Microsoft; base.CopyFrom() checks for 'from' being null
this.IgnoreExtensionDataObject = source.IgnoreExtensionDataObject;
this.MaxItemsInObjectGraph = source.MaxItemsInObjectGraph;
}
protected internal override object CreateBehavior()
{
return new DataContractSerializerServiceBehavior(this.IgnoreExtensionDataObject, this.MaxItemsInObjectGraph);
}
public override Type BehaviorType
{
get { return typeof(DataContractSerializerServiceBehavior); }
}
}
}
|