ChannelSettingsElement.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.ServiceModel.Activities / System / ServiceModel / Activities / Configuration / ChannelSettingsElement.cs / 1305376 / ChannelSettingsElement.cs

                            //------------------------------------------------------------------------------ 
// Copyright (c) Microsoft Corporation.  All rights reserved.
//-----------------------------------------------------------------------------

namespace System.ServiceModel.Activities.Configuration 
{
    using System.Runtime; 
    using System.Configuration; 
    using System.ComponentModel;
    using System.Globalization; 
    using System.ServiceModel.Configuration;
    using System.ServiceModel.Activities.Description;

    public sealed class ChannelSettingsElement : ConfigurationElement 
    {
        ConfigurationPropertyCollection properties; 
 
        public ChannelSettingsElement()
        { 
        }

        [ConfigurationProperty(ConfigurationStrings.IdleTimeout, DefaultValue = ChannelCacheDefaults.DefaultIdleTimeoutString)]
        [TypeConverter(typeof(TimeSpanOrInfiniteConverter))] 
        [ServiceModelTimeSpanValidator(MinValueString = ConfigurationStrings.TimeSpanZero)]
        public TimeSpan IdleTimeout 
        { 
            get { return (TimeSpan)base[ConfigurationStrings.IdleTimeout]; }
            set { base[ConfigurationStrings.IdleTimeout] = value; } 
        }

        [ConfigurationProperty(ConfigurationStrings.LeaseTimeout, DefaultValue = ChannelCacheDefaults.DefaultChannelLeaseTimeoutString)]
        [TypeConverter(typeof(TimeSpanOrInfiniteConverter))] 
        [ServiceModelTimeSpanValidator(MinValueString = ConfigurationStrings.TimeSpanZero)]
        public TimeSpan LeaseTimeout 
        { 
            get { return (TimeSpan)base[ConfigurationStrings.LeaseTimeout]; }
            set { base[ConfigurationStrings.LeaseTimeout] = value; } 
        }

        [ConfigurationProperty(ConfigurationStrings.MaxItemsInCache, DefaultValue = ChannelCacheDefaults.DefaultMaxItemsPerCacheString)]
        [IntegerValidator(MinValue = 0)] 
        public int MaxItemsInCache
        { 
            get { return (int)base[ConfigurationStrings.MaxItemsInCache]; } 
            set { base[ConfigurationStrings.MaxItemsInCache] = value; }
        } 

        protected override ConfigurationPropertyCollection Properties
        {
            get 
            {
                if (this.properties == null) 
                { 
                    ConfigurationPropertyCollection properties = new ConfigurationPropertyCollection();
                    properties.Add(new ConfigurationProperty(ConfigurationStrings.MaxItemsInCache, typeof(System.Int32), ChannelCacheDefaults.DefaultMaxItemsPerCache, null, new System.Configuration.IntegerValidator(1, 2147483647, false), System.Configuration.ConfigurationPropertyOptions.None)); 
                    properties.Add(new ConfigurationProperty(ConfigurationStrings.IdleTimeout, typeof(System.TimeSpan), ChannelCacheDefaults.DefaultIdleTimeout, new System.Runtime.TimeSpanOrInfiniteConverter(), new System.Runtime.TimeSpanOrInfiniteValidator(System.TimeSpan.Parse("00:00:00", CultureInfo.InvariantCulture), System.TimeSpan.Parse("24.20:31:23.6470000", CultureInfo.InvariantCulture)), System.Configuration.ConfigurationPropertyOptions.None));
                    properties.Add(new ConfigurationProperty(ConfigurationStrings.LeaseTimeout, typeof(System.TimeSpan), ChannelCacheDefaults.DefaultFactoryLeaseTimeoutString, new System.Runtime.TimeSpanOrInfiniteConverter(), new System.Runtime.TimeSpanOrInfiniteValidator(System.TimeSpan.Parse("00:00:00", CultureInfo.InvariantCulture), System.TimeSpan.Parse("24.20:31:23.6470000", CultureInfo.InvariantCulture)), System.Configuration.ConfigurationPropertyOptions.None));
                    this.properties = properties;
                } 
                return this.properties;
            } 
        } 
    }
} 



 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK