Используя .Net 3.5, у меня есть HttpBrowserCapabilities, работающий с закомментированным разделом browsercaps web.config. Вот что я проверял в IE 8, Firefox, Chrome и Safari на одной машине.
System.Web.HttpBrowserCapabilities browser = Request.Browser;
BrowserNm.Text = browser.Browser;
BrowserVer.Text = browser.Version;
Platform.Text = browser.Platform;
Мои требования к обнаружению браузера аналогичны, но мы вообще не хотим использовать браузерные колпачки. Если вы намереваетесь использовать браузерные колпачки, вы также можете написать регулярные выражения для идентификации браузеров, что было нашей первой опцией, которую я ненавидел.
Три свойства, которые я все еще исследую, - это IsMobileDevice, MobileDeviceManufacturer и MobileDeviceModel. Если я знаю эти работы, я золотой.