2008-08-16 5 views
6

J'ai inclus un formulaire Web mobile dans mon projet asp.net, je pensais qu'il pouvait/devrait être vu uniquement pour mes utilisateurs mobiles, mais je me rends compte qu'il peut également être vu à partir de n'importe quel navigateur, je ne vois pas de problème parce que je pourrais diff l'accès en utilisant HttpBrowserCapabilities.IsMobileDevice = true et en transférant à la page aspx appropriée, mais il en résulte que lorsque j'accède au formulaire web à partir de mon appareil mobile, il est identifié comme IsMobileDevice = false et m'envoie vers une autre page.Un appareil mobile est détecté comme appareil non mobile

Comment pourrait-il être possible que?

L'appareil mobile fonctionne Pocket PC 2003.

Répondre

2

Certains ne sont pas reconnus, parce que le UserAgent a été sali avec ou un nouveau navigateur est utilisé. Comme Opera Mobile 9.5. Pour résoudre ce problème, vous devez créer un fichier Browser (* .browser) spécifiquement pour définir ceci. Je devais le faire pour le nouvel UserAgent basé sur Mozilla qui est envoyé par Google.

4

à mon humble avis: La valeur de HttpContext.Current.Request.Headers("User-Agent") est un pari beaucoup plus sûr car il indique en fait le navigateur qui fait la demande, et non le type de dispositif per se. J'ai appris par expérience que si un téléphone intelligent fait une demande via un navigateur tiers à votre service, plus souvent que n'importe quel type de test "quel type de périphérique êtes-vous" (HttpCapabilitiesBase.IsMobileDevice et/ou HttpContext.Current.Request.Browser.IsMobileDevice) échouera. Malheureusement, à moins d'une grande liste d'user-agents autorisés (ou d'user-agents non autorisés d'ailleurs), vous devrez juste vous assurer qu'il ne démarre pas avec Mozilla, iPhone ou Opera avant de rendre la page ...

C'est une arène difficile à jouer.
Bonne chance.

1

Je pense que vous devriez utiliser d'autres DDR mieux que Microsoft Browser Capabilities. J'utilise http://wurfl.sourceforge.net> WURFL, il est open source et peut-être qu'il est plus étendu et mis à jour. Il existe d'autres DDR commerciales comme DeviceAtlas.

Il existe plusieurs bibliothèques .net mais j'utilise Marg.Wurfl. Il permet de rendre la page Web mobile en utilisant les capacités de Wurfl.

Questions connexes