当前应用程序池名称

本文关键字:程序池 应用程序 应用 | 更新日期: 2023-09-27 18:05:47

我试图获得web应用程序的当前应用程序池名称。我在谷歌上搜索了很多,找到了几种方法,但似乎没有一种适合我这是我的一个实现:

   private static string GetCurrentApplicationPoolId()
    {
        string virtualDirPath = AppDomain.CurrentDomain.FriendlyName;
        virtualDirPath = virtualDirPath.Substring(4);
        int index = virtualDirPath.Length + 1;
        index = virtualDirPath.LastIndexOf("-", index - 1, index - 1);
        index = virtualDirPath.LastIndexOf("-", index - 1, index - 1);
        virtualDirPath = "IIS://localhost/" + virtualDirPath.Remove(index);
        DirectoryEntry virtualDirEntry = new DirectoryEntry(virtualDirPath);
        return virtualDirEntry.Properties["AppPoolId"].Value.ToString();
    }

我得到错误:Unknown error (0x80005000)

当前应用程序池名称

如果您已经设置了HttpContext,请使用以下命令:

 HttpContext.Current.Request.ServerVariables["APP_POOL_ID"]

如果不使用:

System.Environment.GetEnvironmentVariable(
  "APP_POOL_ID", 
  EnvironmentVariableTarget.Process);

控制面板-程序功能-打开-关闭-查找iis6兼容性并检查所有内容

相关文章: