2011-08-19 28 views

Respuesta

3
HttpBrowserCapabilities browse = Request.Browser; 
string platform = browse.Platform; 
+3

Creo que esto da como resultado 'WinNT' en XP, Vista y 7. No es muy útil. – Bazzz

+1

Es mejor usar Nuget UAParser mencionado a continuación. –

5

Uso Request.Browser.Platform, y la versión se encuentra en Request.UserAgent

+0

@abatishchev Request.UserAgent me dio 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)' – masif

+1

@aaa: En realidad esa es la respuesta de Tejo. Windows 6.1 significa Windows 7 o Windows Server 2008 R2 – abatishchev

+0

gracias por la información ... Windows 6.1 significa Windows 7 o Windows Server 2008 R2. El enlace proporcionado por @Waqas me ayudó a resolver mi problema. – masif

0
OperatingSystem os = Environment.OSVersion; 
var platform = os.Platform.ToString(); 
var version = os.Version.ToString(); 
var servicePack = os.ServicePack.ToString(); 

También se puede encontrar con la ayuda de agente de usuario.

String userAgent = Request.UserAgent; 

     if (userAgent.IndexOf("Windows NT 6.3") > 0) 
     { 
      //Windows 8.1 
     } 
     else if (userAgent.IndexOf("Windows NT 6.2") > 0) 
     { 
      //Windows 8 
     } 
     else if (userAgent.IndexOf("Windows NT 6.1") > 0) 
     { 
      //Windows 7 
     } 
     else if (userAgent.IndexOf("Windows NT 6.0") > 0) 
     { 
      //Windows Vista 
     } 
     else if (userAgent.IndexOf("Windows NT 5.2") > 0) 
     { 
      //Windows Server 2003; Windows XP x64 Edition 
     } 
     else if (userAgent.IndexOf("Windows NT 5.1") > 0) 
     { 
      //Windows XP 
     } 
     else if (userAgent.IndexOf("Windows NT 5.01") > 0) 
     { 
      //Windows 2000, Service Pack 1 (SP1) 
     } 
     else if (userAgent.IndexOf("Windows NT 5.0") > 0) 
     { 
      //Windows 2000 
     } 
     else if (userAgent.IndexOf("Windows NT 4.0") > 0) 
     { 
      //Microsoft Windows NT 4.0 
     } 
     else if (userAgent.IndexOf("Win 9x 4.90") > 0) 
     { 
      //Windows Millennium Edition (Windows Me) 
     } 
     else if (userAgent.IndexOf("Windows 98") > 0) 
     { 
      //Windows 98 
     } 
     else if (userAgent.IndexOf("Windows 95") > 0) 
     { 
      //Windows 95 
     } 
     else if (userAgent.IndexOf("Windows CE") > 0) 
     { 
      //Windows CE 
     } 
     else 
     { 
      //Others 
     } 
2

He instalado una herramienta fresca llamado: https://github.com/ua-parser/uap-csharp
que analiza el agente de usuario del sistema operativo, navegador, etc ... Versión del navegador
Link to Nuget.

y así es como se utiliza:

public static string GetUserOS(string userAgent) 
     { 
      // get a parser with the embedded regex patterns 
      var uaParser = Parser.GetDefault(); 
      ClientInfo c = uaParser.Parse(userAgent); 
      return c.OS.Family; 
     } 
Cuestiones relacionadas