我想访问.NET核心应用程序池的名称和状态
我们过去要么手动检查状态,要么使用不同的工具来检查IIS中应用程序池的状态。但使用这些工具进行更新和删除仍然是一项手动工作,人们往往会忘记。
我试图这样做:
public static void GetApplicationPoolNames()
{
ServerManager manager = new ServerManager();
Site defaultSite = manager.Sites["Default Web Site"];
foreach (Application app in defaultSite.Applications)
{
Console.WriteLine(
"{0} is assigned to the '{1}' application pool.",
app.Path, app.ApplicationPoolName);
}
}
但这只适用于我的本地IIS安装。我喜欢访问不同的IIS服务器并检索此信息。是否有必要将应用程序托管在同一IIS池中?或者它可以是一个独立的项目吗?
2条答案
按热度按时间lp0sw83n1#
这里有两种获取应用程序池信息的方法,第一种方法就像在你的代码中一样,你可以方便快捷地获取本地IIS上的应用程序池信息。
第二个使用DirectoryEntry获取应用池信息,包括远程服务器中的iis。您需要设置服务器名称、用户名和密码,以便拥有权限。更多信息可以参考此link
wfauudbj2#
如果有人发现这个问题,并且只需要.NET Core中的应用程序池名称
保存用户名,默认情况下,该用户名与IIS中的应用程序池名称相同。