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
;
11 using System
.ServiceModel
.Channels
;
13 public sealed partial class TextMessageEncodingElement
: BindingElementExtensionElement
15 public TextMessageEncodingElement()
19 public override void ApplyConfiguration(BindingElement bindingElement
)
21 base.ApplyConfiguration(bindingElement
);
22 TextMessageEncodingBindingElement binding
= (TextMessageEncodingBindingElement
)bindingElement
;
23 binding
.MessageVersion
= this.MessageVersion
;
24 binding
.WriteEncoding
= this.WriteEncoding
;
25 binding
.MaxReadPoolSize
= this.MaxReadPoolSize
;
26 binding
.MaxWritePoolSize
= this.MaxWritePoolSize
;
27 #pragma warning suppress 56506 //Microsoft; base.ApplyConfiguration() checks for 'binding' being null
28 this.ReaderQuotas
.ApplyConfiguration(binding
.ReaderQuotas
);
31 public override Type BindingElementType
33 get { return typeof(TextMessageEncodingBindingElement); }
36 public override void CopyFrom(ServiceModelExtensionElement
from)
40 TextMessageEncodingElement source
= (TextMessageEncodingElement
)from;
41 #pragma warning suppress 56506 //Microsoft; base.CopyFrom() checks for 'from' being null
42 this.MessageVersion
= source
.MessageVersion
;
43 this.WriteEncoding
= source
.WriteEncoding
;
44 this.MaxReadPoolSize
= source
.MaxReadPoolSize
;
45 this.MaxWritePoolSize
= source
.MaxWritePoolSize
;
48 protected internal override BindingElement
CreateBindingElement()
50 TextMessageEncodingBindingElement binding
= new TextMessageEncodingBindingElement();
51 this.ApplyConfiguration(binding
);
55 protected internal override void InitializeFrom(BindingElement bindingElement
)
57 base.InitializeFrom(bindingElement
);
58 TextMessageEncodingBindingElement binding
= (TextMessageEncodingBindingElement
)bindingElement
;
59 SetPropertyValueIfNotDefaultValue(ConfigurationStrings
.MessageVersion
, binding
.MessageVersion
);
60 SetPropertyValueIfNotDefaultValue(ConfigurationStrings
.WriteEncoding
, binding
.WriteEncoding
);
61 SetPropertyValueIfNotDefaultValue(ConfigurationStrings
.MaxReadPoolSize
, binding
.MaxReadPoolSize
);
62 SetPropertyValueIfNotDefaultValue(ConfigurationStrings
.MaxWritePoolSize
, binding
.MaxWritePoolSize
);
63 this.ReaderQuotas
.InitializeFrom(binding
.ReaderQuotas
);
66 [ConfigurationProperty(ConfigurationStrings
.MaxReadPoolSize
, DefaultValue
= EncoderDefaults
.MaxReadPoolSize
)]
67 [IntegerValidator(MinValue
= 1)]
68 public int MaxReadPoolSize
70 get { return (int)base[ConfigurationStrings.MaxReadPoolSize]; }
71 set { base[ConfigurationStrings.MaxReadPoolSize] = value; }
74 [ConfigurationProperty(ConfigurationStrings
.MaxWritePoolSize
, DefaultValue
= EncoderDefaults
.MaxWritePoolSize
)]
75 [IntegerValidator(MinValue
= 1)]
76 public int MaxWritePoolSize
78 get { return (int)base[ConfigurationStrings.MaxWritePoolSize]; }
79 set { base[ConfigurationStrings.MaxWritePoolSize] = value; }
82 [ConfigurationProperty(ConfigurationStrings
.MessageVersion
, DefaultValue
= TextEncoderDefaults
.MessageVersionString
)]
83 [TypeConverter(typeof(MessageVersionConverter
))]
84 public MessageVersion MessageVersion
86 get { return (MessageVersion)base[ConfigurationStrings.MessageVersion]; }
87 set { base[ConfigurationStrings.MessageVersion] = value; }
90 [ConfigurationProperty(ConfigurationStrings
.ReaderQuotas
)]
91 public XmlDictionaryReaderQuotasElement ReaderQuotas
93 get { return (XmlDictionaryReaderQuotasElement) base[ConfigurationStrings.ReaderQuotas]; }
96 [ConfigurationProperty(ConfigurationStrings
.WriteEncoding
, DefaultValue
= TextEncoderDefaults
.EncodingString
)]
97 [TypeConverter(typeof(EncodingConverter
))]
98 public Encoding WriteEncoding
100 get { return (Encoding)base[ConfigurationStrings.WriteEncoding]; }
101 set { base[ConfigurationStrings.WriteEncoding] = value; }