ASP.NET und Datenbanken für Gerätebeschreibungen (Teil 2)
Kommentare

Den Provider der Browserfunktionen ändern

Listing 1
public class CustomProvider : HttpCapabilitiesProvider
{
public override HttpBrowserCapabilities GetBrowserCapabilities(

Den Provider der Browserfunktionen ändern

Listing 1

public class CustomProvider : HttpCapabilitiesProvider 
{
        public override HttpBrowserCapabilities GetBrowserCapabilities(
                           HttpRequest request)
        {
            var browserCaps = new HttpBrowserCapabilities();
            values = ...;
            browserCaps.Capabilities = values;
            return browserCaps;
        }
}  

Wie bereits erwähnt, können Sie den Provider für Browserfunktionen ersetzen. Um einen derartigen Browser zu erstellen, leiten Sie eine einfache Klasse von HttpCapabilitiesBase ab (Listing 1). Die Klasse erbt von HttpCapabilitiesProvider und überschreibt die Methode GetBrowserCapabilities. In dieser Methode erstellen Sie eine neue Instanz von HttpBrowserCapabilities und füllen sie mit einem Wörterbuch von browserspezifischen Name/Wert-Paaren für die einzelnen Funktionen. Mit dem folgenden Konfigurationsskript können Sie die ASP.NET-Laufzeit zwingen, Ihren eigenen Provider für Browserdefinitionen zu verwenden anstelle des standardmäßigen Providers, der aus .browser-Dateien liest.

 
    


Es ist auch möglich, das neu erstellte BrowserCapabilities-Objekt per Code einzubinden:

void Application_Start(Object sender, EventArgs e) 
{ 
   HttpCapabilitiesBase.BrowserCapabilitiesProvider = new CustomProvider(); 
   : 
}  

Wenn Sie sich für den codebasierten Ansatz entscheiden, kommt allein das Application_Start-Ereignis als sicherer Platz infrage, von wo aus Sie den neuen Provider konfigurieren können.

WURFL als (wesentlich) besserer Datenprovider

Wie Sie inzwischen sicherlich erkannt haben, benötigen Sie relevante und aktuelle Informationen, um die Browsererkennung zu verbessern und sie auch auf die Welt der mobilen Anwendungen auszudehnen. Das .browser-Modell ist zwar aus architektonischer Sicht recht brauchbar, für eine sich dynamisch ändernde Welt insbesondere im Bereich der mobilen Geräte jedoch zu statisch und zu starr. Was steht Ihnen nun außer der Browserstandarddatenbank von Microsoft noch zur Verfügung? Die beste Option scheint Wireless Universal Resource File (WURFL) zu sein. Bei WURFL handelt es sich um ein von einer Community gepflegtes Projekt, das Ihnen gewissermaßen als Orakel die ganze Wahrheit über den mobilen Browser verrät, mit dem ein Benutzer Ihre Webseite betrachtet. WURFL ist eine XML-Datenbank, die derzeit mehr als 7000 Zeichenfolgen für Benutzeragenten und jeweils über 500 Funktionen für die erkannten Browser und mobilen Geräte umfasst. Die Homepage des Projekts finden Sie unter http://wurfl.sourceforge.net. WURFL existiert seit rund einem Jahrzehnt und verkörpert die treibende Kraft hinter den außergewöhnlichen Funktionen der mobilen Facebook-Site. Die ganze Facebook-Geschichte können Sie unter http://goo.gl/nv1JW nachlesen. Der Motor von WURFL ist eine aktive Community, die für relevante und aktuelle Informationen garantiert. Da WURFL an sich eine reine Sammlung von Daten ist, stellt sich die Frage, wie sich diese Gerätebeschreibungen in ASP.NET-Anwendungen integrieren lassen. Die Firma ScientiaMobile, die von denselben Leuten gegründet wurde, die das Open-Source-Projekt WURFL ins Leben gerufen haben und verwalten, bietet jetzt ein ASP.NET API unter der GNU Affero General Public License (AGPL) an. Möchten Sie dieses API nicht verwenden, können Sie auch ein eigenes API schreiben oder auf ein anderes kostenfreies API ausweichen.

Die Welt der mobilen Geräte ist aus verschiedenen Gründen ein hartes Brot für Entwickler – das mobile Web macht da keine Ausnahme.

Dino Esposito ist R&D Director bei Crionet, einer Firma, die sich auf webbasierte und mobile Lösungen für Sportereignisse in ganz Europa spezialisiert hat (http://www.e-tennis.net). Außerdem ist Dino der Autor von „Programming ASP.NET 4“, Microsoft Press, 2011.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -