ServiceHostingEnvironmentSection.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Configuration / ServiceHostingEnvironmentSection.cs / 2 / ServiceHostingEnvironmentSection.cs

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

namespace System.ServiceModel.Configuration 
{
    using System.Configuration; 
    using System.ServiceModel; 
    using System.Globalization;
    using System.Security; 
    using System.Security.Permissions;

    public sealed partial class ServiceHostingEnvironmentSection : ConfigurationSection
    { 
        public ServiceHostingEnvironmentSection()
        { 
        } 

        protected override void PostDeserialize() 
        {
            // Perf optimization. If the configuration is coming from machine.config
            // It is safe and we don't need to check for permissions.
            if (EvaluationContext.IsMachineLevel) 
            {
                return; 
            } 

            if (PropertyValueOrigin.SetHere == 
                ElementInformation.Properties[ConfigurationStrings.MinFreeMemoryPercentageToActivateService].ValueOrigin)
            {
                try
                { 
                    new SecurityPermission(SecurityPermissionFlag.UnmanagedCode).Demand();
                } 
                catch (SecurityException) 
                {
                    throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ConfigurationErrorsException( 
                        SR.GetString(SR.Hosting_MemoryGatesCheckFailedUnderPartialTrust)));

                }
            } 
        }
 
        [ConfigurationProperty(ConfigurationStrings.DefaultCollectionName, Options = ConfigurationPropertyOptions.IsDefaultCollection)] 
        public TransportConfigurationTypeElementCollection TransportConfigurationTypes
        { 
            get {return (TransportConfigurationTypeElementCollection) base[ConfigurationStrings.DefaultCollectionName]; }
        }

        [ConfigurationProperty(ConfigurationStrings.BaseAddressPrefixFilters, Options = ConfigurationPropertyOptions.None)] 
        public BaseAddressPrefixFilterElementCollection BaseAddressPrefixFilters
        { 
            get { return (BaseAddressPrefixFilterElementCollection)base[ConfigurationStrings.BaseAddressPrefixFilters]; } 
        }
 

        [ConfigurationProperty(ConfigurationStrings.AspNetCompatibilityEnabled, DefaultValue = false)]
        public bool AspNetCompatibilityEnabled
        { 
            get { return (bool)base[ConfigurationStrings.AspNetCompatibilityEnabled]; }
            set { base[ConfigurationStrings.AspNetCompatibilityEnabled] = value; } 
        } 

        [ConfigurationProperty(ConfigurationStrings.MinFreeMemoryPercentageToActivateService, DefaultValue = 5)] 
        [IntegerValidator(MinValue = 0, MaxValue = 99)]
        public int MinFreeMemoryPercentageToActivateService
        {
            get { return (int)base[ConfigurationStrings.MinFreeMemoryPercentageToActivateService]; } 
            set { base[ConfigurationStrings.MinFreeMemoryPercentageToActivateService] = value; }
        } 
 
        internal static ServiceHostingEnvironmentSection GetSection()
        { 
            return (ServiceHostingEnvironmentSection)ConfigurationHelpers.GetSection(ConfigurationStrings.ServiceHostingEnvironmentSectionPath);
        }

        ///  
        /// Critical - calls Critical method UnsafeGetSection which elevates in order to fetch config
        ///            caller must guard access to resultant config section 
        ///  
        [SecurityCritical]
        internal static ServiceHostingEnvironmentSection UnsafeGetSection() 
        {
            return (ServiceHostingEnvironmentSection)ConfigurationHelpers.UnsafeGetSection(ConfigurationStrings.ServiceHostingEnvironmentSectionPath);
        }
    } 
}
 
 


// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
                        

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