繁体   English   中英

使用C#获取IIS托管站点URL的列表

[英]Get list of IIS hosted site URL's using C#

我试图找到一种方法来获取托管在服务器IIS上的站点URL的列表。 这样做的目的是,在IIS中,我们拥有许多Web API,DNN Web应用程序。 因此,我正在开发一个控制台应用程序,该应用程序获取IIS托管的应用程序URL的列表,并进行HTTP调用以根据HTTP状态检查该站点是否已启动并正在运行。

请建议是否有一种方法可以满足上述要求。

你可以使用powershell-这样的事情

Get-WebBinding | % {
    $name = $_.ItemXPath -replace '(?:.*?)name=''([^'']*)(?:.*)', '$1'
    New-Object psobject -Property @{
        Name = $name
        Binding = $_.bindinginformation.Split(":")[-1]
    }
} | Group-Object -Property Name | 
Format-Table Name, @{n="Bindings";e={$_.Group.Binding -join "`n"}} -Wrap

然后您将通过C#代码调用Powershell

或通过cmd行:

cd c:\Windows\system32\inetsrv

appcmd list sites > c:\myBindings.txt

非常简洁!

取而代之的是,您可以查找IIS工作进程列表(每个应用程序池)及其运行状态。 要获取IIS工作进程列表,您可以参考以下链接, 如何将所有IIS工作进程列表放入我的控制台应用程序?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM