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

      Idea R - Do you have a real web strategy? Persuasion Technologies
  • HomeHome
  • About UsAbout Us
  • ContactsContacts


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

Change language... italiano
Go to the blog summaryGo to the blog summary

You may be interested in

How to fix your ASP.NET site to be responsive on Windows Phone

How to fix your ASP.NET site to be responsive on Windows Phone

Internet Explorer 10 for Windows Phone 8 suffers a bug when displaying responsive web sites. See how to fix it server-side with few lines of code.

How ASP.NET can efficiently control the client cache

How to precisely control the cache of the client in order to avoid the transmission of data from the ASP.NET server when the client already owns them.

Last published

Metalworking industry: how to multiply customers using only the website and zero advertising budget

Metalworking industry: how to multiply customers using only the website and zero advertising budget

Find out how to design a website for the metalworking industry, that will be a magnet for customers and able to triple your leads.

A simple but effective SEO strategy: the middleman

Get excellent results in a short time using this SEO trick. Lern how to quickly apply the middleman technique and have many new web pages indexed.

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

Case study: branding and marketing for a magician

Case study: branding and marketing for a magician

Singular case study in the world of illusionism. See how we have created a brand and a web marketing campaign with exceptional results.
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.

Stay informed on digital strategies

Take a look at the last published articles
RSS feed

3 methods to detect mobile devices in ASP.NET

Published on 11/14/2012
Categories: Web Design
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

You are the reader number 7,872.


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