сеанс теряется в iframe с чувствительным к регистру URL (IE8) - PullRequest
0 голосов
/ 20 февраля 2012

У меня есть страница ASP.NET, размещенная на IIS6, работающем на сервере Windows 2008. На странице есть два фрейма, каждый из которых обращается к страницам в одном приложении.

При просмотре в браузере (IE8, режим Compat) сеанс теряется в iFrames.

IIS настроен с виртуальным каталогом «App», поэтому доступ к веб-сайту осуществляется через http://localhost/App.

Проблема возникает при вводе в браузере http://localhost/app - обратите внимание на изменение регистра.

Насколько я знал, URL-адреса всегда чувствительны к регистру, но в данном случае это явно не так. После некоторого тестирования выясняется, что важным фактором является то, что URL, введенный в браузер, должен иметь точно такой же регистр, что и URL в iframe. Или, по крайней мере, расположение виртуального каталога между двумя URL-адресами.

Таким образом, простое исправление - убедиться, что вы всегда используете в браузере точно такой же URL-адрес, который используется в виртуальном каталоге, но это немного сложно для пользователей.

Я думал о переписывании URL-адреса и выполнении некоторых манипуляций со строками, чтобы URL-адрес iFrame совпадал с URL-адресом браузера, но он выглядит немного странным и потенциально ненадежным.

Кто-нибудь еще сталкивался с этим или есть просто настройки IE, которые я могу изменить?

Спасибо

1 Ответ

1 голос
/ 20 февраля 2012

URL чувствительны к регистру. Это IIS & ASP.NET, которые не чувствительны к регистру при обработке URL-адресов запросов, но чувствительность к регистру, которую вы видите для путей cookie, должна быть истинной для любого браузера, который вы используете. Это не то, что вы должны изменить.

Обходной путь может состоять в том, чтобы перенаправить запросы с неправильно введенным URL-адресом на правильный. Вы можете написать для этого IHttpModule или, если вы используете IIS7, использовать дополнительный модуль маршрутизации запросов приложений.

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