Request.UserAgent和Request.Browser有什么区别?

这是我的代码如下:

User_Info.Add(!string.IsNullOrEmpty(Request.UserAgent) ? Request.UserAgent : string.Empty);//4:UserAgent HttpBrowserCapabilities browser = Request.Browser; User_Info.Add(!string.IsNullOrEmpty(browser.Browser) ? "Name : " + browser.Browser + " | " + "Type : " + browser.Type + " | " + "MajorVersion : " + browser.MajorVersion + " | " + "MinorVersion : " + browser.MinorVersion : string.Empty);//5:UserBrowser 

Request.UserAgent和Request.Browser有什么区别?
我无法理解那些UserAgent字符串!
请你举一些解释的例子吗?

Request.Browser与Request.UserAgent不同。 UserAgent获取客户端浏览器的原始用户代理字符串, Request.Browser获取有关浏览器function的信息。 您不会使用UserAgent字符串获得所有浏览器function。

UserAgent为您提供有关浏览器的原始字符串。 它可能看起来像这样:

用户代理:: Mozilla / 4.0(兼容; MSIE 6.0b; Windows NT 5.1; .NET CLR 1.0.2914)

Request.Browser将为您提供HttpBrowserCapabilities对象,该对象将具有浏览器版本信息以及有关浏览器function的一些额外信息。 例如:

  1. 浏览器是否支持Frames
  2. 如果它支持cookie?
  3. 支持JavaScripts?
  4. 支持Java Applets? 等等

请看以下示例代码:

 HttpBrowserCapabilities bc = Request.Browser; Response.Write("

Browser Capabilities:

"); Response.Write("Type = " + bc.Type + "
"); Response.Write("Name = " + bc.Browser + "
"); Response.Write("Version = " + bc.Version + "
"); Response.Write("Major Version = " + bc.MajorVersion + "
"); Response.Write("Minor Version = " + bc.MinorVersion + "
"); Response.Write("Platform = " + bc.Platform + "
"); Response.Write("Is Beta = " + bc.Beta + "
"); Response.Write("Is Crawler = " + bc.Crawler + "
"); Response.Write("Is AOL = " + bc.AOL + "
"); Response.Write("Is Win16 = " + bc.Win16 + "
"); Response.Write("Is Win32 = " + bc.Win32 + "
"); Response.Write("Supports Frames = " + bc.Frames + "
"); Response.Write("Supports Tables = " + bc.Tables + "
"); Response.Write("Supports Cookies = " + bc.Cookies + "
"); Response.Write("Supports VB Script = " + bc.VBScript + "
"); Response.Write("Supports JavaScript = " + bc.JavaScript + "
"); Response.Write("Supports Java Applets = " + bc.JavaApplets + "
"); Response.Write("Supports ActiveX Controls = " + bc.ActiveXControls + "
"); Response.Write("CDF = " + bc.CDF + "
");

要将浏览器版本与用户代理进行比较,您必须使用字符串操作(包含),而在Request.Browser情况下,您可以与属性进行比较。

Request.UserAgent有点神秘,需要解析才能确定访问者正在使用的浏览器。 此外,它不包含浏览器支持的JavaScript版本或浏览器是否支持CSS 2.0样式表等信息

Request.Browser属性是HttpBrowserCapabilities对象的一个​​实例提供的所有信息……

参考: http : //www.4guysfromrolla.com/articles/120402-1.aspx