How to get Application Pool name through code (C#, ASP.net)

前端 未结 3 1797
终归单人心
终归单人心 2020-12-20 15:38

I want to recycle the application pool through my application.

Previously I was storing the application pool name in my database and using that to recycle. But It ha

相关标签:
3条回答
  • 2020-12-20 16:01

    May this can help: ApplicationPoolName Property

    Namespace: Microsoft.Web.Administration Assembly: Microsoft.Web.Administration (in Microsoft.Web.Administration.dll)

    http://msdn.microsoft.com/en-us/library/microsoft.web.administration.application.applicationpoolname(v=vs.90).aspx

    0 讨论(0)
  • 2020-12-20 16:14

    In many cases it might be enough to just read the name of the application pool from the environment variable:

    var apppool = System.Environment.GetEnvironmentVariable(
                      "APP_POOL_ID", EnvironmentVariableTarget.Process);
    
    0 讨论(0)
  • 2020-12-20 16:21

    Modified version of @Razon answer :)

    public static string GetCurrentApplicationPoolName()
        {
            ServerManager manager = new ServerManager();
            string DefaultSiteName = System.Web.Hosting.HostingEnvironment.ApplicationHost.GetSiteName();
            Site defaultSite = manager.Sites[DefaultSiteName];
            string appVirtualPath = HttpRuntime.AppDomainAppVirtualPath;
    
            string appPoolName = string.Empty;
            foreach (Application app in defaultSite.Applications)
            {
                string appPath = app.Path;
                if (appPath == appVirtualPath)
                {
                    appPoolName = app.ApplicationPoolName;
                }   
            }
            return appPoolName;
        }
    
    0 讨论(0)
提交回复
热议问题