Ответ 1
Вы можете использовать HttpBrowserCapabilities в System.Web, подобном этому
var userAgent = HttpContext.Current.Request.UserAgent;
userBrowser = new HttpBrowserCapabilities { Capabilities = new Hashtable { { string.Empty, userAgent } } };
var factory = new BrowserCapabilitiesFactory();
factory.ConfigureBrowserCapabilities(new NameValueCollection(), userBrowser);
//Set User browser Properties
BrowserBrand = userBrowser.Browser;
BrowserVersion = userBrowser.Version;
Это зависит от браузера .ini в Windows/System32/inetsrv/или Windows/SysWOW64/inetsrv для определений.
Эта статья также может помочь - http://stephenwalther.com/archive/2010/03/05/use-asp-net-4-browser-definitions-with-asp-net-3-5