Как получить веб-часть для обновления в IE? - PullRequest
0 голосов
/ 01 июня 2009

У меня есть веб-часть SharePoint, которая получает данные XML со страницы .ASHX, анализирует их и отображает с помощью JavaScript. Все работает нормально, пока XML не изменится. Когда я просматриваю веб-часть в IE, новые данные не обновляются, пока я не закрою браузер. Даже выполнение CTRL-F5 не захватывает новые данные.

Firefox немедленно отображает новые данные, просто обновив страницу.

Я добавил метку времени в строку запроса моей страницы .ASHX, чтобы результат в XML не кэшировался, но это не помогло исправить мои IE. Есть другие идеи?

Редактировать
Страница .ASHX использует API для доступа к списку и создает строку XML, а затем возвращает ее как тип содержимого application/XML. Я подтвердил, что XML обновлен, чтобы отразить новые данные в списке. Я также могу видеть данные, используемые в веб-части, когда они отображаются в FireFox.

Решение
Я на самом деле генерировал метку времени, чтобы добавить к моему запросу в коде сервера, а затем поместил эту строку в JavaScript. Как только я переместил код метки времени в javascript, все стало работать намного лучше.

Ответы [ 2 ]

2 голосов
/ 01 июня 2009

Скорее всего, он кешируется, нет другого логического объяснения, почему он будет работать в Firefox, а не в IE. Попробуйте перезагрузить IE несколько раз подряд.

Проверьте, какие заголовки устанавливает страница .ashx.

Не только ваш браузер может кэшировать страницу, любое промежуточное ПО, включая веб-сервер, может иметь некорректную реализацию кэширования. Вы также можете попробовать использовать HTTP POST вместо GET, поскольку согласно спецификации HTTP запросы POST никогда не должны кэшироваться.

1 голос
/ 01 июня 2009

Это пользовательская веб-часть или одна из готовых веб-частей? Было бы легче помочь вам, если бы вы предоставили больше информации о том, как вы извлекаете данные из HttpHandler (ashx).

...