C# 如何知道站点位于哪个应用程序池中
我使用下面的代码来获取applicationpool和站点,但是如何知道站点位于哪个applicationpool中C# 如何知道站点位于哪个应用程序池中,c#,asp.net,web-services,iis,application-pool,C#,Asp.net,Web Services,Iis,Application Pool,我使用下面的代码来获取applicationpool和站点,但是如何知道站点位于哪个applicationpool中 var serverManager = ServerManager.OpenRemote("127.0.0.1"); var appPools = serverManager.ApplicationPools; var site= serverManager.Sites; Console.WriteLine("Sit
var serverManager = ServerManager.OpenRemote("127.0.0.1");
var appPools = serverManager.ApplicationPools;
var site= serverManager.Sites;
Console.WriteLine("Sites:");
foreach (var st in site)
Console.WriteLine(st.Name);
Console.WriteLine( );
Console.WriteLine("Pools:");
foreach (var ap in appPools)
Console.WriteLine(ap.Name);
Console.Read();
使用
ApplicationPoolName
可以知道分配给应用程序的应用程序池的名称
看
要在网页上显示应用程序池名称,只需使用以下代码段即可
<% Request.ServerVariables("APP_POOL_ID") %>
要获取IIS服务器变量,请查看
对于以编程方式列出、获取和设置应用程序池也很有用。站点指定应用程序的默认应用程序池。如果默认设置不充分,则可以将每个应用程序更改为使用另一个应用程序池。使用以下选项可获取站点和应用程序的应用程序池:
var sites = new ServerManager().Sites;
foreach (var site in sites)
{
Console.WriteLine(site.ApplicationDefaults.ApplicationPoolName);
foreach (var application in site.Applications)
{
Console.WriteLine(application.ApplicationPoolName);
}
}
张贴一些代码,如何做到这一点。只有链接的答案不是好答案@我的出生名好的,谢谢你的建议,我将编辑。谢谢,Application.ApplicationPoolName很有用。@Sasayaku不客气,如果你认为这是你的答案,请接受它。可能是@Amit的副本,谢谢。是的,也许我用不同的键来搜索,它现在还没有出现。
var sites = new ServerManager().Sites;
foreach (var site in sites)
{
Console.WriteLine(site.ApplicationDefaults.ApplicationPoolName);
foreach (var application in site.Applications)
{
Console.WriteLine(application.ApplicationPoolName);
}
}