Domanda

Ho incluso un modulo web mobile nel mio progetto asp.net, pensavo che potesse/dovesse essere visto solo per i miei utenti mobili ma mi rendo conto che può essere visto anche da qualsiasi browser, non vedo problemi perché Potrei differenziare l'accesso utilizzando HttpBrowserCapabilities.IsMobileDevice=true e trasferendolo alla pagina aspx appropriata, ma risulta che quando accedo al modulo Web dal mio dispositivo mobile viene identificato come IsMobileDevice = false e mi invia a un'altra pagina.

Come è possibile ciò?

Il dispositivo mobile esegue Pocket PC 2003.

È stato utile?

Soluzione

Alcuni non vengono riconosciuti perché l'UserAgent è stato modificato o viene utilizzato un nuovo browser.Come Opera Mobile 9.5.Per risolvere questo problema è necessario creare un file Browser (*.browser) appositamente per definirlo.Ho dovuto farlo per il nuovo UserAgent basato su Mozilla inviato da Google.

Altri suggerimenti

A PARER MIO:Il valore di HttpContext.Current.Request.Headers("User-Agent") è una scommessa molto più sicura poiché indica effettivamente il browser che sta effettuando la richiesta e non il tipo di dispositivo di per sé.

Ho imparato per esperienza che se uno smartphone effettua una richiesta al tuo servizio tramite un browser di terze parti, il più delle volte viene effettuato qualsiasi tipo di test "che tipo di dispositivo sei" (HttpCapabilitiesBase.IsMobileDevice e/o HttpContext.Current.Request.Browser.IsMobileDevice) avrà esito negativo.

Sfortunatamente, però, a parte un lungo elenco di user-agent consentiti (o user-agent non consentiti), dovrai solo assicurarti che non inizi con Mozilla, iPhone o Opera prima di eseguire il rendering della pagina. .

È un'arena difficile in cui giocare.
Buona fortuna.

Penso che dovresti usare altri DDR meglio delle funzionalità del browser Microsoft.Sto usando http://wurfl.sourceforge.net>WURFL, è open source e forse è più esteso e aggiornato.Esistono altri DDR commerciali simili DispositivoAtlas.

Ci sono molte librerie .net ma le sto usando Marg.Wurfl.Consente di eseguire il rendering di pagine Web mobili utilizzando le funzionalità wurfl.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top