Pergunta

Incluí um formulário web móvel em meu projeto asp.net, pensei que ele poderia/deveria ser visto apenas para meus usuários móveis, mas percebo que também pode ser visto em qualquer navegador, não vejo problema nisso, porque Eu poderia diferenciar o acesso usando HttpBrowserCapabilities.IsMobileDevice=true e transferindo para a página aspx apropriada, mas resulta que quando acesso o formulário da web a partir do meu dispositivo móvel ele é identificado como IsMobileDevice = false e me envia para outra página.

Como poderia ser possível isso?

O dispositivo móvel executa o Pocket PC 2003.

Foi útil?

Solução

Alguns não são reconhecidos porque o UserAgent foi alterado ou um novo navegador está sendo usado.Como o Opera Mobile 9.5.Para corrigir isso, você precisa criar um arquivo de navegador (*.browser) especificamente para definir isso.Eu tive que fazer isso para o novo UserAgent baseado no Mozilla que está sendo enviado pelo Google.

Outras dicas

NA MINHA HUMILDE OPINIÃO:O valor de HttpContext.Current.Request.Headers("User-Agent") é uma aposta muito mais segura, pois na verdade indica o navegador que está fazendo a solicitação, e não o tipo de dispositivo por si só.

Aprendi com a experiência que, se um smartphone fizer uma solicitação ao seu serviço por meio de um navegador de terceiros, na maioria das vezes qualquer tipo de teste "que tipo de dispositivo você é" (HttpCapabilitiesBase.IsMobileDevice e/ou HttpContext.Current.Request.Browser.IsMobileDevice) vai falhar.

Infelizmente, porém, com falta de uma grande lista de agentes de usuários permitidos (ou agentes de usuários não permitidos), você apenas terá que ter certeza de que não inicia com Mozilla, iPhone ou Opera antes de renderizar a página. .

É uma arena difícil de jogar.
Boa sorte.

Acho que você deveria usar outro DDR melhor que os recursos do navegador Microsoft.Estou usando http://wurfl.sourceforge.net>WURFL, é open source e talvez esteja mais estendido e atualizado.Existem outros DDRs comerciais como DispositivoAtlas.

Existem muitas bibliotecas .net, mas estou usando Marg.Wurfl.Ele permite renderizar páginas móveis da web usando recursos wurfl.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top