HttpHandlersSection.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / xsp / System / Web / Configuration / HttpHandlersSection.cs / 1 / HttpHandlersSection.cs

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

namespace System.Web.Configuration { 
    using System; 
    using System.Xml;
    using System.Configuration; 
    using System.Collections.Specialized;
    using System.Collections;
    using System.IO;
    using System.Text; 
    using System.Web.Util;
    using System.Web.Compilation; 
    using System.Globalization; 
    using System.Security.Permissions;
 
    [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
    public sealed class HttpHandlersSection : ConfigurationSection {
        private static ConfigurationPropertyCollection _properties;
        private static readonly ConfigurationProperty _propHandlers = 
            new ConfigurationProperty(null, typeof(HttpHandlerActionCollection), null, ConfigurationPropertyOptions.IsDefaultCollection);
 
        private bool _validated; 

        static HttpHandlersSection() { 
            // Property initialization
            _properties = new ConfigurationPropertyCollection();
            _properties.Add(_propHandlers);
        } 

        public HttpHandlersSection() { 
        } 

        protected override ConfigurationPropertyCollection Properties { 
            get {
                return _properties;
            }
        } 

        [ConfigurationProperty("", IsDefaultCollection = true)] 
        public HttpHandlerActionCollection Handlers { 
            get {
                return (HttpHandlerActionCollection)base[_propHandlers]; 
            }
        }

        internal bool ValidateHandlers() { 
            if (!_validated) {
                lock (this) { 
                    if (!_validated) { 
                        foreach (HttpHandlerAction ha in Handlers) {
                            ha.InitValidateInternal(); 
                        }

                        _validated = true;
                    } 
                }
            } 
 
            return _validated;
        } 

        internal HttpHandlerAction FindMapping(String verb, VirtualPath path) {
            ValidateHandlers();
 
            for (int i = 0; i < Handlers.Count; i++) {
                HttpHandlerAction m = (HttpHandlerAction)Handlers[i]; 
 
                if (m.IsMatch(verb, path)) {
                    return m; 
                }
            }

            return null; 
        }
    } 
} 


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

namespace System.Web.Configuration { 
    using System; 
    using System.Xml;
    using System.Configuration; 
    using System.Collections.Specialized;
    using System.Collections;
    using System.IO;
    using System.Text; 
    using System.Web.Util;
    using System.Web.Compilation; 
    using System.Globalization; 
    using System.Security.Permissions;
 
    [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
    public sealed class HttpHandlersSection : ConfigurationSection {
        private static ConfigurationPropertyCollection _properties;
        private static readonly ConfigurationProperty _propHandlers = 
            new ConfigurationProperty(null, typeof(HttpHandlerActionCollection), null, ConfigurationPropertyOptions.IsDefaultCollection);
 
        private bool _validated; 

        static HttpHandlersSection() { 
            // Property initialization
            _properties = new ConfigurationPropertyCollection();
            _properties.Add(_propHandlers);
        } 

        public HttpHandlersSection() { 
        } 

        protected override ConfigurationPropertyCollection Properties { 
            get {
                return _properties;
            }
        } 

        [ConfigurationProperty("", IsDefaultCollection = true)] 
        public HttpHandlerActionCollection Handlers { 
            get {
                return (HttpHandlerActionCollection)base[_propHandlers]; 
            }
        }

        internal bool ValidateHandlers() { 
            if (!_validated) {
                lock (this) { 
                    if (!_validated) { 
                        foreach (HttpHandlerAction ha in Handlers) {
                            ha.InitValidateInternal(); 
                        }

                        _validated = true;
                    } 
                }
            } 
 
            return _validated;
        } 

        internal HttpHandlerAction FindMapping(String verb, VirtualPath path) {
            ValidateHandlers();
 
            for (int i = 0; i < Handlers.Count; i++) {
                HttpHandlerAction m = (HttpHandlerAction)Handlers[i]; 
 
                if (m.IsMatch(verb, path)) {
                    return m; 
                }
            }

            return null; 
        }
    } 
} 


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