Ste*_*eim 9 .net iis version-detection
以编程方式确定当前安装的Microsoft Internet信息服务(IIS)版本的首选方法是什么?
我知道可以通过查看HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters中的MajorVersion键找到它.
这是推荐的方法,还是.NET开发人员可以使用更安全或更漂亮的方法?
小智 5
public int GetIISVersion()
{
RegistryKey parameters = Registry.LocalMachine.OpenSubKey("SYSTEM\\CurrentControlSet\\Services\\W3SVC\\Parameters");
int MajorVersion = (int)parameters.GetValue("MajorVersion");
return MajorVersion;
}
Run Code Online (Sandbox Code Playgroud)
您可以构建一个 WebRequest 并将其发送到环回 IP 地址上的端口 80,并获取服务器 HTTP 标头。
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();
Run Code Online (Sandbox Code Playgroud)
不确定这是否是更好的方法,但这肯定是另一种选择。