Welcome to Idea R | Branding - Web Agency - Digital Strategies
Switch to the mobile layout

      Idea R - Do others know who you are? Design your corporate identity
  • HomeHome
  • About UsAbout Us
  • ContactsContacts


Take a software geek from the 80s, add a new generation graphic designer and dilute with a long time marketing strategist. Shake vigorously and you'll get the Idea R's blog.

Change language... italiano

You may be interested in

Irritated by your blog performance? Boost it using the cloud!

Irritated by your blog performance? Boost it using the cloud!

Are you using the world's fastest hosting? If you have a bad architecture, your blog won't have a great performance. Here is the ultimate solution.

How to skip the CDN during ASP.NET development

How to inject the Content Delivery Network URL in the production website without having to hardcode it.

Last published

Can engineering industry sponsor art without going off topic?

Can engineering industry sponsor art without going off topic?

How to design a page in an exhibition catalog of Biennale in Venice, for a customer who apparently has nothing to do with art.

Milano Design Week 2017, Design Districts

Ventura Lambrate and Tortona, here are the best creations that we discovered in the 2 districts of the Fuorisalone Milan Design Week 2017.

Most popular

Lazy loading and the SEO problem, solved!

Lazy loading and the SEO problem, solved!

The best SEO solution to index your dynamically loaded contents, no more compromises!

Case study: TAV Engineering, branding for B2B services

How to create a brand that keeps distance from the cold and aseptic image of the metal industry, focusing instead on the human aspect.

Editor's pick

Mental marketing secret #1: the fake compromise

Mental marketing secret #1: the fake compromise

Can mentalism influence marketing? As a marketing professional and a long term magician, I will reveal you some tricks.

How to dramatically increase social media LIKEs to your web site

Here's a free download that I created some time ago. It's a good tool for increasing engagement, but use with caution.

Stay informed on digital strategies

RSS feed

3 methods to detect mobile devices in ASP.NET

Published on 11/14/2012
3 methods to detect mobile devices in ASP.NET

Redirecting mobile visitors to the mobile version of your site, is a common task.
How to detect them in ASP.NET?

Solution 1: the native ASP.NET method

The HttpBrowserCapabilitiesBase class exposes the IsMobileDevice property, that seems to be the solution to our problem.
Unfortunately the property returns highly inaccurate values, due to the very basic parsing of the browser user agent.

Solution 2: 51Degrees.mobi

This open source library does a good job, you can install it using NuGet or directly from the 51Degrees project site.
When you install this free component, it comes along with with a data file that contains all the detailed user agents information of all the mobile phones in the market.
The only thing you have to do, is to periodically refresh this data file.

From a programmers prospective, you can configure an automatic redirection directly using configuration parameters in your config file, or you can manually test the extended HttpBrowserCapabilitiesBase.IsMobileDevice property that now return accurate results.

But there's a problem!

If you have to distinguish between smartphones and tablets, with this solution you can't or better, you can if you switch to the premium paid version.

Until 51Degrees version 1.x this was possible because the component was based on the WURFL database (Wireless Universal Resource FiLe), but with the new 2.x versions this changed as stated inside the official documentation:

The detection element replaces the wurfl element used in previous versions of the Foundation (v0.x, v1.x). Due to licencing changes from ScientiaMobile, the 51Degrees.mobi Foundation no longer supports WURFL data and instead uses 51Degrees.mobi Device Data.

Solution 3: WURFL

WURFL (Wireless Universal Resource FiLe) is deployed by key Internet companies such as Facebook and Google and it is the most used solution worldwide.
It can be easily included in your project using NuGet, but it has not a drag'n'drop implementation like 51Degrees, you have to code a little bit.

It is a two step process. First load the devices database and cache it for future use (you can do this in the Application_Start method).

using WURFL;
using WURFL.Aspnet.Extensions.Config;


// Try to load the WURFL manager from the cache
IWURFLManager wurflManager = (IWURFLManager)HttpContext.Current.Cache[WurflManagerCacheKey];
if (wurflManager == null)
    ApplicationConfigurer configurer = new ApplicationConfigurer();
    wurflManager = WURFLManagerBuilder.Build(configurer);
    // ...store the data file in the cache
    HttpContext.Current.Cache.Insert(WurflManagerCacheKey, wurflManager, null,
        DateTime.Now.AddMonths(1), Cache.NoSlidingExpiration);

When a page is requested the second step is to verify if the visitor is using a smartphone:

using WURFL;
using WURFL.Aspnet.Extensions.Config;


IDevice device = wurflManager.GetDeviceForRequest(Request.UserAgent);
// ...do not consider tablets as mobile devices (they have a wider display)
Boolean smartphone = String.Compare(device.GetCapability("is_wireless_device"), true.ToString(), true) == 0 && String.Compare(device.GetCapability("is_tablet"), false.ToString(), true) == 0;
if (smartphone)
    // ...redirect to the mobile version of your site

Did you find this article useful?

Please help us to spread it over the web using Google+.
You have only to press the button here below!


You are the reader number 4,889.


comments powered by Disqus
Creative Commons License

Photographies, videos, graphics and texts by Idea R are licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.

Previous article

Previous article

jQuery: how to throw and handle custom events

Next article

Infographic: the Social Media history

Next article
  • Visual Communication, Art DirectionVisual Communication, Art Direction
  • Apps, Cloud, Mobile, Software DesignApps, Cloud, Mobile, Software Design
  • Digital StrategiesDigital Strategies
  • BlogBlog
Touching finger
RSS feed

Scroll to top