ApplicationHost.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / ndp / fx / src / xsp / System / Web / Hosting / ApplicationHost.cs / 2 / ApplicationHost.cs

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

namespace System.Web.Hosting { 
 
    using System;
    using System.IO; 
    using System.Collections;
    using System.Globalization;
    using System.Runtime.InteropServices;
    using System.Runtime.Remoting; 
    using System.Web;
    using System.Web.Configuration; 
    using System.Web.Util; 
    using System.Security.Permissions;
 

    /// 
    ///    [To be supplied.]
    ///  
    [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
    public sealed class ApplicationHost { 
 
        private ApplicationHost() {
        } 

        /*
         * Creates new app domain for hosting of ASP.NET apps with a
         * user defined 'host' object in it.  The host is needed to make 
         * cross-domain calls to process requests in the host's app domain
         */ 
 
        /// 
        ///    [To be supplied.] 
        /// 
        [SecurityPermission(SecurityAction.Demand, Unrestricted=true)]
        public static Object CreateApplicationHost(Type hostType, String virtualDir, String physicalDir) {
#if !FEATURE_PAL // FEATURE_PAL does not require PlatformID.Win32NT 
            if (Environment.OSVersion.Platform != PlatformID.Win32NT)
                throw new PlatformNotSupportedException(SR.GetString(SR.RequiresNT)); 
#else // !FEATURE_PAL 
            // FEATURE_PAL
#endif // !FEATURE_PAL 

            if (!StringUtil.StringEndsWith(physicalDir, Path.DirectorySeparatorChar))
                physicalDir = physicalDir + Path.DirectorySeparatorChar;
 
            ApplicationManager appManager = ApplicationManager.GetApplicationManager();
 
            String appId = (String.Concat(virtualDir, physicalDir).GetHashCode()).ToString("x"); 

            ObjectHandle h = appManager.CreateInstanceInNewWorkerAppDomain( 
                                hostType, appId, VirtualPath.CreateNonRelative(virtualDir), physicalDir);

            return h.Unwrap();
        } 
    }
} 

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

namespace System.Web.Hosting { 
 
    using System;
    using System.IO; 
    using System.Collections;
    using System.Globalization;
    using System.Runtime.InteropServices;
    using System.Runtime.Remoting; 
    using System.Web;
    using System.Web.Configuration; 
    using System.Web.Util; 
    using System.Security.Permissions;
 

    /// 
    ///    [To be supplied.]
    ///  
    [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
    public sealed class ApplicationHost { 
 
        private ApplicationHost() {
        } 

        /*
         * Creates new app domain for hosting of ASP.NET apps with a
         * user defined 'host' object in it.  The host is needed to make 
         * cross-domain calls to process requests in the host's app domain
         */ 
 
        /// 
        ///    [To be supplied.] 
        /// 
        [SecurityPermission(SecurityAction.Demand, Unrestricted=true)]
        public static Object CreateApplicationHost(Type hostType, String virtualDir, String physicalDir) {
#if !FEATURE_PAL // FEATURE_PAL does not require PlatformID.Win32NT 
            if (Environment.OSVersion.Platform != PlatformID.Win32NT)
                throw new PlatformNotSupportedException(SR.GetString(SR.RequiresNT)); 
#else // !FEATURE_PAL 
            // FEATURE_PAL
#endif // !FEATURE_PAL 

            if (!StringUtil.StringEndsWith(physicalDir, Path.DirectorySeparatorChar))
                physicalDir = physicalDir + Path.DirectorySeparatorChar;
 
            ApplicationManager appManager = ApplicationManager.GetApplicationManager();
 
            String appId = (String.Concat(virtualDir, physicalDir).GetHashCode()).ToString("x"); 

            ObjectHandle h = appManager.CreateInstanceInNewWorkerAppDomain( 
                                hostType, appId, VirtualPath.CreateNonRelative(virtualDir), physicalDir);

            return h.Unwrap();
        } 
    }
} 

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