Почему обнаружение браузера на стороне сервера несовместимо? - PullRequest
1 голос
/ 26 мая 2011

У меня есть веб-приложение ASP.net, развернутое на IIS.Когда я получаю к нему доступ через IE8 локально , браузер корректно определяется как IE8 через request.browser

Если я получаю доступ к тому же веб-приложению с IE8, но на этот разудаленно с другой машины request.browser сообщает, что браузер IE7?!

Я крутил свои колеса с этим, вы знаете, почему это происходит или как это исправить?

Редактировать: Нет, совместимость * Режим 1016 * не включен ни на одном из экземпляров.Я дважды проверил.

Вот строки, сообщаемые серверу в двух сценариях:

Удаленный доступ:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)

Доступ локально:

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E; OfficeLiveConnector.1.3; OfficeLivePatch.0.0)

1 Ответ

1 голос
/ 26 мая 2011

Да, оказывается, это был режим совместимости (спасибо Шиме Видас).

За исключением того, что я не включил его явно, и IE не сделал это очевидным для меня.

По умолчанию после установки новой копии IE8 у него есть опция Display intranet sites in Compatibility View ON .И поскольку я проводил тестирование в своей сети, эта опция вступила в силу.подлый ...

В меню «Инструменты» -> «Настройки совместимости» снимите флажок «Отображать сайты интрасети в представлении совместимости»

enter image description here

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