06-Web应用程序的运行时

来源:互联网 发布:人工智能 西蒙 编辑:程序博客网 时间:2024/05/21 17:14
using System.Text;
using System.Web;
using System.Web.Hosting;


namespace _06_Web应用程序的运行时
{
    class Intelligencer : System.MarshalByRefObject
    {
        public string GetHostingEncironmentInfo()
        {
            System.AppDomain appdomain = System.AppDomain.CurrentDomain;
            StringBuilder builder = new StringBuilder();
            //应用程序域的信息
            builder.AppendFormat("Domain ID:{0}\r\n",appdomain.Id);
            //对于每一个Web应用程序域,有一个HostingEnvironment
            builder.AppendFormat("VirrtualPath:{0}\r\n", HostingEnvironment.ApplicationVirtualPath);
            builder.AppendFormat("PhysicalPath:{0}\r\n",HostingEnvironment.ApplicationPhysicalPath);
            return builder.ToString();
        }
        public string GetHttpRuntimeInfo()
        {
            StringBuilder builder = new StringBuilder();


            // 每个 Web 应用程序域中,有一个 HttpRuntime
            builder.AppendFormat("AppDomainAppId: {0}\r\n",
                    HttpRuntime.AppDomainAppId);
            builder.AppendFormat("AppDomainAppPath: {0}\r\n",
                    HttpRuntime.AppDomainAppPath);
            builder.AppendFormat("AppDomainAppVirtualPath: {0}\r\n",
                    HttpRuntime.AppDomainAppVirtualPath);
            builder.AppendFormat("AspClientScriptVirtualPath: {0}\r\n",
                    HttpRuntime.AspClientScriptVirtualPath);
            builder.AppendFormat("AspClientScriptPhysicalPath: {0}\r\n",
                    HttpRuntime.AspClientScriptPhysicalPath);
            builder.AppendFormat("AppDomainId: {0}\r\n",
                    HttpRuntime.AppDomainId);
            builder.AppendFormat("AspInstallDirectory: {0}\r\n",
                    HttpRuntime.AspInstallDirectory);
            builder.AppendFormat("BinDirectory: {0}\r\n",
                    HttpRuntime.BinDirectory);
            builder.AppendFormat("ClrInstallDirectory: {0}\r\n",
                    HttpRuntime.ClrInstallDirectory);
            builder.AppendFormat("CodegenDir: {0}\r\n",
                    HttpRuntime.CodegenDir);
            builder.AppendFormat("IsOnUNCShare: {0}\r\n",
                    HttpRuntime.IsOnUNCShare.ToString());
            builder.AppendFormat("MachineConfigurationDirectory: {0}\r\n",
                    HttpRuntime.MachineConfigurationDirectory);
            builder.AppendFormat("UsingIntegratedPipeline: {0}\r\n",
                    HttpRuntime.UsingIntegratedPipeline);
            return builder.ToString();


        }
    }

}


//调用该类

using System;


namespace _06_Web应用程序的运行时
{
    class Program
    {
        static void Main(string[] args)
        {
            System.Type hostType = typeof(Intelligencer);
            Intelligencer intelligencer = System.Web.Hosting.ApplicationHost.CreateApplicationHost(
                hostType,
                "/",
                System.Environment.CurrentDirectory
                )
                as Intelligencer;
            Console.WriteLine("Current Domain ID:{0}", AppDomain.CurrentDomain.Id);
            Console.WriteLine();
            Console.WriteLine(intelligencer.GetHostingEncironmentInfo());
            Console.WriteLine();
            Console.WriteLine(intelligencer.GetHttpRuntimeInfo());
            Console.Read();
        }
    }
}