1 //------------------------------------------------------------------------------
2 // Copyright (c) Microsoft Corporation. All rights reserved.
3 //------------------------------------------------------------------------------
5 namespace System.ServiceModel.Configuration
7 using System.ComponentModel;
8 using System.Configuration;
9 using System.Globalization;
10 using System.Net.Security;
11 using System.ServiceModel.Security;
12 using System.ServiceModel.Dispatcher;
13 using System.ServiceModel.Description;
15 public sealed partial class DataContractSerializerElement : BehaviorExtensionElement
17 public DataContractSerializerElement()
21 [ConfigurationProperty(ConfigurationStrings.IgnoreExtensionDataObject, DefaultValue = DataContractSerializerDefaults.IgnoreExtensionDataObject)]
22 public bool IgnoreExtensionDataObject
24 get { return (bool)base[ConfigurationStrings.IgnoreExtensionDataObject]; }
25 set { base[ConfigurationStrings.IgnoreExtensionDataObject] = value; }
28 [ConfigurationProperty(ConfigurationStrings.MaxItemsInObjectGraph, DefaultValue = DataContractSerializerDefaults.MaxItemsInObjectGraph)]
29 [IntegerValidator(MinValue = 0)]
30 public int MaxItemsInObjectGraph
32 get { return (int)base[ConfigurationStrings.MaxItemsInObjectGraph]; }
33 set { base[ConfigurationStrings.MaxItemsInObjectGraph] = value; }
36 public override void CopyFrom(ServiceModelExtensionElement from)
40 DataContractSerializerElement source = (DataContractSerializerElement)from;
41 #pragma warning suppress 56506 //Microsoft; base.CopyFrom() checks for 'from' being null
42 this.IgnoreExtensionDataObject = source.IgnoreExtensionDataObject;
43 this.MaxItemsInObjectGraph = source.MaxItemsInObjectGraph;
46 protected internal override object CreateBehavior()
48 return new DataContractSerializerServiceBehavior(this.IgnoreExtensionDataObject, this.MaxItemsInObjectGraph);
51 public override Type BehaviorType
53 get { return typeof(DataContractSerializerServiceBehavior); }