Мобильное устройство определяется как немобильное устройство

Я включил мобильную веб-форму в свой проект asp.net, я думал, что ее можно/должно видеть только для моих мобильных пользователей, но я понимаю, что ее также можно увидеть из любого браузера, я не вижу в этом проблемы. Я мог бы изменить доступ, используя HttpBrowserCapabilities.IsMobileDevice=true и перейдя на соответствующую страницу aspx, но в результате при доступе к веб-форме с мобильного устройства она идентифицируется как IsMobileDevice = false и отправляет меня на другую страницу.

Как это возможно?

Мобильное устройство работает под управлением Pocket PC 2003.


person Nelson Miranda    schedule 16.08.2008    source источник


Ответы (3)


Некоторые из них не распознаются, потому что UserAgent был перепутан или используется новый браузер. Например, Opera Mobile 9.5. Чтобы исправить это, вам нужно создать файл браузера (*.browser) специально для определения этого. Мне пришлось сделать это для нового UserAgent на основе Mozilla, который отправляется из Google.

person Nick Berardi    schedule 16.08.2008

ИМХО: значение HttpContext.Current.Request.Headers("User-Agent") гораздо безопаснее, поскольку оно фактически указывает браузер, который делает запрос, а не тип устройства per se.

По своему опыту я узнал, что если смартфон делает запрос через сторонний браузер к вашему сервису, чаще всего проверяется какой тип устройства вы используете (HttpCapabilitiesBase.IsMobileDevice и/или HttpContext.Current.Request.Browser.IsMobileDevice) не удастся.

К сожалению, за исключением большого списка разрешенных пользовательских агентов (или запрещенных пользовательских агентов, если на то пошло), вам просто нужно убедиться, что он не запускается с Mozilla, iPhone или Opera, прежде чем отображать страницу. .

Это сложная арена для игры.
Удачи.

person Pat Hermens    schedule 18.08.2008

Я думаю, что вы должны использовать другие возможности DDR лучше, чем возможности браузера Microsoft. Я использую http://wurfl.sourceforge.net>WURFL, это открытый исходный код и, возможно, он более расширен и обновлен. Существуют и другие коммерческие DDR, такие как DeviceAtlas.

Существует много библиотек .net, но я использую Marg.Wurfl. Это позволяет отображать веб-страницу для мобильных устройств с использованием возможностей wurfl.

person fravelgue    schedule 25.09.2008