una sitio servidor publicar para net mvc mostrar los lista internet está este directorio desde crear contenidos configurar configurado asp aplicacion acceder c# iis

c# - servidor - publicar sitio web en iis



¿Cómo detectar la versión de IIS usando C#? (11)

¿Cómo detectar la versión de IIS usando C #?

Actualización: quise decir desde un winapp (en realidad, el escenario está desarrollando un instalador personalizado que quiere verificar la versión del IIS instalado para llamar a la API adecuada)


Así es como lo hago.

FileVersionInfo verinfo = FileVersionInfo.GetVersionInfo(System.Environment.SystemDirectory + @"/inetsrv/inetinfo.exe"); //Tip... look at verinfo.MajorVersion.



En .NET 4.5

HttpRuntime.IISVersion


Encontré la respuesta aquí: texto del enlace El método FileVersion no funciona en Windows 2008, el exe inetserv está en otro lugar, supongo.

public Version GetIisVersion() { using (RegistryKey componentsKey = Registry.LocalMachine.OpenSubKey(@"Software/Microsoft/InetStp", false)) { if (componentsKey != null) { int majorVersion = (int)componentsKey.GetValue("MajorVersion", -1); int minorVersion = (int)componentsKey.GetValue("MinorVersion", -1); if (majorVersion != -1 && minorVersion != -1) { return new Version(majorVersion, minorVersion); } } return new Version(0, 0); } }

Lo probé, funciona perfectamente en Windows XP, 7 y 2008



Por lo general, se presenta en el encabezado http de la respuesta, como sé.




U puede encontrarlo en el registro.

Hasta la versión 6 de IIS, puede encontrarla aquí:

HKLM / SYSTEM / CurrentControlSet / Services / W3SVC / Parameters

Desde la versión 7 aquí:

HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / InetStp

MajorVersion MinorVersion


Use System.Web.HttpRequest.ServerVariables ("SERVER_SOFTWARE"). El valor de retorno es una cadena en el formato nombre / versión.


Puede obtener esta información de la variable SERVER_SOFTWARE . Devolverá lo siguiente:

Microsoft-IIS/5.0 (Windows 2000)
Microsoft-IIS/5.1 (Windows XP)
Microsoft-IIS/6.0 (Windows 2003 Server)

etc.

Si está utilizando ASP.NET, puede obtener esta cadena a través de

Request.ServerVariables["SERVER_SOFTWARE"];

EDITAR: parece que tendrá que consultar el registro para obtener esta información. Echa un vistazo a esta página para ver cómo.