Как я могу определить устройство, с которого осуществляется доступ к моему веб-сайту? - PullRequest
2 голосов
/ 09 декабря 2011

У меня есть веб-сайт .NET, который в основном создан для настольных браузеров, но в настоящее время я делаю его мобильную версию. То, что я пытаюсь сделать, это загрузить веб-сайт в соответствии с устройством, на котором к нему обращается пользователь. Могу ли я получить информацию об устройстве пользователя, когда они запрашивают сайт?

С уважением, Sumit.

Ответы [ 5 ]

4 голосов
/ 09 декабря 2011

Как предлагают другие, вы можете использовать класс System.Web.HttpBrowserCapabilities, доступный через Request.Browser, однако без обновленных файлов определений браузера информация совершенно бесполезна.

Например, если вы используетеRequest.Browser.IsMobileDevice этот должен давать вам то, что вы хотите, но основан на наборе очень устаревших регулярных выражений в ваших папках .NET Framework в Windows.

Вы можете увидеть проблемы такого рода.это можно встретить в (в настоящее время неотвеченном и нелюбимом) сообщении здесь в переполнении стека.

Если вы не планируете поддерживать файлы определений браузера в актуальном состоянии (что являетсяне маленькая задача) тогда просто не идите по этому маршруту .

Если вы просто хотите узнать, просматривает ли пользователь мобильное устройство, то вот несколько вариантов:

Некоторые из нихявляются бесплатными, некоторые - нет, и если вас действительно интересует, является ли это мобильным устройством, я рекомендую использовать функцию «Обнаружение мобильных браузеров».

1 голос
/ 09 декабря 2011

Взгляните на класс HttpBrowserCapabilities.

Позволяет серверу собирать информацию о возможностях браузера, работающего на клиенте.

Это фактически отображается в свойстве Request объекта Page - на странице ASP.NET вы можете сделать следующее:

var browserCap = this.Request.Browser;
0 голосов
/ 09 декабря 2011

Коммерческое предупреждение BrowserHawk

0 голосов
/ 09 декабря 2011

Если вы ищете что-то более низкого уровня: http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.useragent(v=vs.90).aspx

0 голосов
/ 09 декабря 2011

Вы можете проверить свойство HttpRequest.Browser - Ссылка MSDN .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...