Smoore Smoore - 1 year ago 125
C# Question

How would you detect the current browser in an Api Controller?

I'm trying to detect the current web browser within one of my Api Controllers in my program using MVC4. Everywhere I look people say to use

, however I can't get that to work. Any suggestions or is there something I'm overlooking?

Answer Source

You can use the HttpBrowserCapabilities in System.Web like this

        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;

This relies on browscap.ini in Windows/System32/inetsrv/ or Windows/SysWOW64/inetsrv for definitions.

This article may also help -

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download