| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- //------------------------------------------------------------------------------
- // Copyright (c) Microsoft Corporation. All rights reserved.
- //------------------------------------------------------------------------------
- namespace System.ServiceModel.Configuration
- {
- using System;
- using System.ComponentModel;
- using System.Configuration;
- using System.Runtime;
- using System.ServiceModel;
- using System.ServiceModel.Channels;
- public sealed partial class NamedPipeConnectionPoolSettingsElement : ServiceModelConfigurationElement
- {
- public NamedPipeConnectionPoolSettingsElement()
- {
- }
- [ConfigurationProperty(ConfigurationStrings.GroupName, DefaultValue = ConnectionOrientedTransportDefaults.ConnectionPoolGroupName)]
- [StringValidator(MinLength = 0)]
- public string GroupName
- {
- get { return (string)base[ConfigurationStrings.GroupName]; }
- set
- {
- if (String.IsNullOrEmpty(value))
- {
- value = String.Empty;
- }
- base[ConfigurationStrings.GroupName] = value;
- }
- }
- [ConfigurationProperty(ConfigurationStrings.IdleTimeout, DefaultValue = ConnectionOrientedTransportDefaults.IdleTimeoutString)]
- [TypeConverter(typeof(TimeSpanOrInfiniteConverter))]
- [ServiceModelTimeSpanValidator(MinValueString = ConfigurationStrings.TimeSpanZero)]
- public TimeSpan IdleTimeout
- {
- get { return (TimeSpan)base[ConfigurationStrings.IdleTimeout]; }
- set { base[ConfigurationStrings.IdleTimeout] = value; }
- }
- [ConfigurationProperty(ConfigurationStrings.MaxOutboundConnectionsPerEndpoint, DefaultValue = ConnectionOrientedTransportDefaults.MaxOutboundConnectionsPerEndpoint)]
- [IntegerValidator(MinValue = 0)]
- public int MaxOutboundConnectionsPerEndpoint
- {
- get { return (int)base[ConfigurationStrings.MaxOutboundConnectionsPerEndpoint]; }
- set { base[ConfigurationStrings.MaxOutboundConnectionsPerEndpoint] = value; }
- }
- internal void ApplyConfiguration(NamedPipeConnectionPoolSettings settings)
- {
- if (null == settings)
- {
- throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("settings");
- }
- settings.GroupName = this.GroupName;
- settings.IdleTimeout = this.IdleTimeout;
- settings.MaxOutboundConnectionsPerEndpoint = this.MaxOutboundConnectionsPerEndpoint;
- }
- internal void InitializeFrom(NamedPipeConnectionPoolSettings settings)
- {
- if (null == settings)
- {
- throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("settings");
- }
- SetPropertyValueIfNotDefaultValue(ConfigurationStrings.GroupName, settings.GroupName);
- SetPropertyValueIfNotDefaultValue(ConfigurationStrings.IdleTimeout, settings.IdleTimeout);
- SetPropertyValueIfNotDefaultValue(ConfigurationStrings.MaxOutboundConnectionsPerEndpoint, settings.MaxOutboundConnectionsPerEndpoint);
- }
- internal void CopyFrom(NamedPipeConnectionPoolSettingsElement source)
- {
- if (source == null)
- {
- throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("source");
- }
- this.GroupName = source.GroupName;
- this.IdleTimeout = source.IdleTimeout;
- this.MaxOutboundConnectionsPerEndpoint = source.MaxOutboundConnectionsPerEndpoint;
- }
- }
- }
|