当前应用程序池名称

时间:2014-05-28 14:13:11

标签: c# asp.net security iis application-pool

我正在尝试获取Web应用程序的当前应用程序池名称。 我google了很多,我找到了几种方法,但它们似乎都不适合我 这是我的一个实现:

   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)

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

如果您有Page,请使用以下命令:

Main

如果不使用此功能:

HttpContext

Source