В моем веб-приложении asp.net при загрузке страницы я беру URL текущей страницы и сохраняю его в переменной сеанса, чтобы отследить, на какой странице находится пользователь, чтобы они могли вернуться к ней, если войдут в область администратора, сделав некоторую навигациювокруг и т. д. Затем они могут нажать кнопку возврата и перейти на страницу, на которой они находились, до входа в администратор.
Все это работает в IE8;однако в FF и Chrome, когда в админе обратная ссылка перенаправляет на пользовательскую страницу 404, которую я имею для веб-приложения.
В целях тестирования я добавил код, который я написал ниже, в событие загрузки страницы:
Response.Write((string)Session["navurl"]);// displays "http://somedomain.com/customerror/default.aspx"
Session["navurl"] = currentUrl;//ex. currentUrl = "http://somedomain.com/contact/"
Response.Write((string)Session["navurl"]);//ex. currentUrl = "http://somedomain.com/contact/"
Опять же, это работает без проблем в IE, но в FF и Chrome при загрузке страницыПеременная сеанса отображает ссылку на страницу 404 и после установки отображает правильную ссылку.Я использовал fiddler, чтобы увидеть, что происходит, и Chrome добавляет 404 в заголовок GET для файла favicon.ico, который я не использую в этом веб-приложении.
Я добавил файл faviocon и ссылкув заголовке файла site.master и Chrome и FF теперь работают нормально;Я до сих пор не уверен, почему это происходит.У кого-нибудь есть идеи, почему или как моя переменная Session перезаписывается Chrome или FF?
В качестве дополнительного примечания я прошел отладку процесса, а currentUrl - правильный URL-адрес.