Резюме
ASP.Net не отправляет обратно Set-Cookie
заголовок при использовании IE 10. Это означает, что, например, вы не можете войти на сайт ASP.Net с помощью IE10, например, при использовании проверки подлинности с помощью форм.
Деталь
В настоящее время мы тестируем одно из наших старых веб-приложений на соответствие IE 10 [Preview 2].
При попытке входа в систему с использованием проверки подлинности с помощью форм мы не получаем Set-Cookie
заголовок в ответе, если пользовательский агент является агентом IE 10. Мы пробовали это с пустым сайтом .Net 2 и .Net 4.
Поскольку мы не могли / не поверили бы этому, мы даже вручную запустили следующий HTTP-запрос telnet
- после использования всех обычных инструментов - и получили тот же ответ.
GET http://test.ourdomain.co.uk/ HTTP/1.1
Accept: */*
Host: test.ourdomain.co.uk
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)
Content-Length: 0
Вышеупомянутый HTTP-запрос Set-Cookie
в ответе не возвращает . Но если мы просто изменим User-Agent, Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/6.0)
он заработает!
Может ли кто-нибудь еще повторить это? Я не могу найти никаких известных проблем с файлами cookie IE10, кроме проблемы, которая влияет на нестандартные шаблоны URL.
Исправление
После devio опубликовал оригинальный ответ, с обходным путем, nullptr есть подтвердить , что есть теперь исправление для этого .
http://support.microsoft.com/kb/2600088
Я повысил исправление до основного вопроса, так как оно просто удобнее для использования в будущем, но, пожалуйста, проголосуйте за упомянутых пользователей.
источник
Ответы:
Нашел эту запись в MS Connect , поведение - распознанная ошибка.
Предлагаемый способ обхода (из записи):
<browsers> <browser refID="Default"> <capabilities><!-- To avoid wrong detections of e.g. IE10 --> <capability name="cookies" value="true" /> <capability name="ecmascriptversion" value="3.0" /> </capabilities> </browser> </browsers>
источник
Проблема заключается в том, что некоторые экземпляры IIS думают, что IE10 - это браузер без файлов cookie (т.е. не может поддерживать файлы cookie). В нашем проблемном случае сервер устанавливал файл cookie аутентификации и отправлял его обратно в браузер, но затем игнорировал файл cookie при последующих запросах.
Решение состоит в том, чтобы либо исправить возможности браузера, чтобы он знал, что IE10 может использовать файлы cookie (это описано в другом ответе на этой странице), либо изменить поведение по умолчанию, чтобы заставить его использовать файлы cookie, даже если он считает, что браузер не может использовать файлы cookie.
Мы только что добавили в наш раздел форм в web.config следующее:
cookieless = "UseCookies"
<authentication mode="Forms"> <forms name=".AUTH" cookieless="UseCookies" loginUrl="/" timeout="10000" path="/" /> </authentication>
источник
Для этой проблемы доступно исправление [1].
1) http://support.microsoft.com/kb/26000881) http://support.microsoft.com/kb/2600217 (заменяет предыдущий KB)
Также [2] предполагает, что это появится в Центре обновления Windows в январе 2012 года.
2) http://www.hanselman.com/blog/BugAndFixASPNETFailsToDetectIE10CausingDoPostBackIsUndefinedJavaScriptErrorOrMaintainFF5ScrollbarPosition.aspx
источник
Спасибо за помощь. Это не сработало.
Скопировал файл с сайта на
C:\WINDOWS\microsoft.net\Framework\v2.0.50727\CONFIG\Browsers
Запустить в командной строке
C:\WINDOWS\microsoft.net\Framework\v2.0.50727>aspnet_regbrowsers.exe -i
Перезагрузите IIS.
Протестировал сайт, работает без ошибок.
Еще раз спасибо за обратную связь
источник
Обновление для ответа nullptr.
Я попробовал сегодня скачать Microsoft KB2600088. Получив ссылку по электронной почте, я щелкнул по ней, и она привела меня на страницу, где говорится, что она больше не доступна.
Попробуйте это: http://support.microsoft.com/kb/2600217
Эта ссылка заменяет KB2600088 и KB2628838.
MIcrosoft .Net Framework 4.5 также доступен сейчас.
источник
Установлены различные патчи, о которых все упоминают, и по какой-то причине проблема не была решена.
Установил .NET Framework 4.5 Full, и проблема исчезла.
Вам не нужно обновлять проекты до версии 4.5. Просто установите его на сервер.
источник