.net - 如何以编程方式确定已安装的IIS版本

标签 .net iis version-detection

以编程方式确定当前安装的Microsoft Internet信息服务(IIS)版本的首选方法是什么?

我知道可以通过查看HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters中的MajorVersion键找到它。

是这样做的推荐方法,还是.NET开发人员可以使用的更安全或更美观的方法?

最佳答案

您可以构建一个WebRequest并将其发送到回送IP地址上的端口80,并获取Server HTTP header 。

HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create("http://127.0.0.1/");
HttpWebResponse myHttpWebResponse = null;
try
{
    myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
}
catch (WebException ex)
{
    myHttpWebResponse = (HttpWebResponse)ex.Response;
}
string WebServer = myHttpWebResponse.Headers["Server"];
myHttpWebResponse.Close();

不知道这是否是更好的方法,但这当然是另一种选择。

关于.net - 如何以编程方式确定已安装的IIS版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/435050/

相关文章:

ssl - 服务器上已更改的 SSL/TLS 现在无法通过 visual studio 发布

.net - 确定最高 .NET Framework 版本

c# - 通过强制转换在 2 个类之间传递值

c# - 在 .Net CORE 1.0 中解压缩存档

asp.net - IIS 默认是否缓存静态内容?

.net - 如何检测安装了哪些 .NET Framework 版本和服务包?

internet-explorer - 使用 VB6 检测 Internet Explorer 版本

.net - PowerShell,扩展方法和猴子修补

.net - 不同类型在 CIL 中具有相同的签名

c# - 如何加密 app.config(没有解密方法)