MachineSettingsSection.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 / fx / src / tx / System / Transactions / Configuration / MachineSettingsSection.cs / 1305376 / MachineSettingsSection.cs

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

namespace System.Transactions.Configuration 
{
    using System.Configuration; 
    using System.Collections.Generic; 
    using System.Globalization;
 
    public sealed class MachineSettingsSection : ConfigurationSection
    {
        public MachineSettingsSection() : base()
        { 
        }
 
        // System.Transactions reads the Configuration information in a non destructive way. 
        static internal MachineSettingsSection GetSection()
        { 
            MachineSettingsSection retval = (MachineSettingsSection)PrivilegedConfigurationManager.GetSection(ConfigurationStrings.MachineSettingsSectionPath);
            if (retval == null)
            {
                throw new ConfigurationErrorsException(string.Format(CultureInfo.CurrentCulture, 
                    SR.GetString(SR.ConfigurationSectionNotFound),
                    ConfigurationStrings.MachineSettingsSectionPath)); 
            } 
            return retval;
        } 

        // public properties
        [ConfigurationProperty(ConfigurationStrings.MaxTimeout, DefaultValue=ConfigurationStrings.DefaultMaxTimeout)]
        [TimeSpanValidator(MinValueString = ConfigurationStrings.TimeSpanZero, MaxValueString=TimeSpanValidatorAttribute.TimeSpanMaxValue)] 
        public TimeSpan MaxTimeout
        { 
            // System.Transactions reads the Configuration information in a non destructive way. 
            get { return (TimeSpan)base[ConfigurationStrings.MaxTimeout];}
            set 
            {
                if (!ConfigurationStrings.IsValidTimeSpan(value))
                {
                    throw new ArgumentOutOfRangeException("MaxTimeout", SR.GetString(SR.ConfigInvalidTimeSpanValue)); 
                }
 
                base[ConfigurationStrings.MaxTimeout] = value; 
            }
        } 

        protected override ConfigurationPropertyCollection Properties
        {
            get 
            {
                ConfigurationPropertyCollection retval = new ConfigurationPropertyCollection(); 
                retval.Add(new ConfigurationProperty( ConfigurationStrings.MaxTimeout, 
                                                      typeof(TimeSpan),
                                                      ConfigurationStrings.DefaultMaxTimeout, 
                                                      null,
                                                      new TimeSpanValidator( TimeSpan.Zero, TimeSpan.MaxValue ),
                                                      ConfigurationPropertyOptions.None));
                return retval; 
            }
        } 
    } 
}

// 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