Détecter Google Chrome sous ASP.NET

Si vous souhaitez détecter Google Chrome au sein de la propriété Request.Browser.Browser, celle-ci peut vous retourner comme valeur Safari. Comment faire en sorte de détecter Google Chrome ?

Tout d’abord, vous devez ajouter le répertoire App_Browsers dans votre application. Au sein de ce répertoire, ajouter un fichier que vous pouvez appeler Chrome.browser:

Chrome Browser file

Dans ce fichier, ajouter le code suivant:

1
2
3
4
5
6
7
8
9
10
11
12
13
<browsers>
    <browser id="Chrome" parentID="Safari1Plus">
        <identification>
            <userAgent match="Chrome/(?'version'(?'major'\d+)\.(?'minor'\d+\.\d+).\d+)" />
        </identification>
        <capabilities>
            <capability name="browser" value="Chrome" />
            <capability name="majorversion" value="${major}" />
            <capability name="minorversion" value="${minor}" />
            <capability name="version" value="${version}" />
        </capabilities>
    </browser>
</browsers>

Il ne manque plus qu’à augmenter le nombre de caractères qu’ASP.NET utilise pour le user agent dans le fichier Web.config. Au sein de la balise system.web, ajouter ceci:

1
2
3
4
<system.web>    
    <browserCaps userAgentCacheKeyLength="128" />
    ...
</system.web>

Request.Browser.Browser vous retournera maintenant comme valeur Chrome.

Source