2009-08-17 3 views
1

У меня очень необычная проблема, которая на самом деле заняла у меня довольно много времени, чтобы найти причину. У меня есть веб-приложение ASP.Net 3.5, работающее на Windows Server 2003. Я получаю отчеты от пользователей, которые говорят, что каждый раз приложение обновляется самостоятельно, без взаимодействия с пользователем. Это было необычно, так как я не кодировал обновления на клиентской стороне. После многого устранения неполадок я сузил это до проблемы с Internet Explorer (и 7 & 8). FF, Chrome и Opera не демонстрируют такого поведения.Weird IE Refresh Problem на ASP.Net 3.5 site

В основном, это происходит только при первом посещении пользователем сайта в новом экземпляре IE (новое окно или новая вкладка). Если пользователь переходит на любую страницу на сайте, а затем снова не взаимодействует с сайтом, через 6 минут браузер обновляется! После этого обновления, если это тот же самый экземпляр IE, независимо от того, какую страницу на сайте вы посещаете, и как бы вы ни сидели, вы никогда не увидите обновление. Это действительно озадачило меня и стало серьезной проблемой, так как это приложение имеет формы ввода данных, для завершения которых требуется более 6 минут. К сожалению, если пользователь попадает в эту ошибку обновления, все, что они ввели, теряется из-за сообщения.

Мне нужна помощь! Любые советы или варианты попробовать были бы весьма благодарны. Благодаря!

(нет, я не могу требовать от них, чтобы использовать лучший браузер, как это корпоративная среда с ограничениями, установленными для использования IE для неопытных пользователей)

ответ

1

Это растягивать, но, может быть, у вас есть 3-й компонент партии это добавление тега meta refresh только для IE (см. http://www.w3schools.com/tags/att_meta_http_equiv.asp (значение обновления)). Или, возможно, клиентский код генерируется где-то только в случае IE, который помещает location.reload() или location.href = someLocation блок сценария на стороне клиента в вашей разметке.

Вы сравнили разметку HTML в IE и FireFox? Они одинаковы? Вот где я начну. Если они заканчиваются тем же, просмотрите ссылки на скрипты и найдите location.reload() или location.href.

И на самом деле, возможно, до этого запустите IE без добавления включений и проверьте, обновляется ли он. Для запуска без аддонов выполните это в командной строке: «C: \ Program Files \ Internet Explorer \ iexplore.exe» -extoff

+0

Исходный код между браузерами - это то же самое. Я тестировал на 12 разных машинах, XP и Vista, на IE7 или 8, и все они ведут себя одинаково. Также нет надстроек. Я проверил, чтобы не было перезагрузки или обновления кода, и нет. Это также, по-видимому, подтверждается тем фактом, что это происходит только при первом посещении страницы исходного экземпляра IE. Я могу перемещаться от сайта к другим сайтам и возвращаться, и он не демонстрирует это обновление. – Robert

+0

Возможно, загрузите Fiddler, http://www.fiddlertool.com, и посмотрите, что происходит. Кроме того, у вас есть AJAX на этой странице? Возможно, UpdatePanel вызывает не-асинхронную обратную передачу в IE ... еще раз растянуть. – nickytonline

+0

Что я ищу в Fiddler? Это происходит не только на одной конкретной странице, это происходит со всем приложением, независимо от того, на какой странице находится пользователь. На некоторых страницах есть AJAX, некоторые - нет. Это происходит в обоих случаях. – Robert