Повторная загрузка (без кэша) одного и того же изображения отчета несколько раз на одной странице в IE - PullRequest
0 голосов
/ 28 октября 2010

Используя Microsoft.Samples.ReportingServices.ReportViewer, я показываю несколько экземпляров одного и того же отчета SRS на одной и той же странице aspx с использованием IFrames (что и представляет собой ReportViewer.) Каждый экземпляр имеет различные параметры, переданные ему, поэтомувыходные данные выглядят по-разному для каждого экземпляра отчета.

Моя проблема заключается в том, что в Internet Explorer для каждого отчета отображается одна и та же графика, поскольку IE кэширует изображение;URL-адрес для каждого представления изображения в отчете - это один и тот же URL-адрес, поэтому IE предполагает, что он должен просто показывать одно и то же изображение снова и снова, так как оно все на одной странице (хотя и разделено IFrames).

Firefox ведет себяправильно.Есть ли способ запретить IE кэшировать изображение?Вот решения, которые я не могу (не имею) использовать:

  • Установить заголовок HTTP изображения, поскольку он находится на удаленном сервере SRS.
  • Добавить GUID вСтрока запроса до конца изображения, так что IE думает, что они все разные URL.

Я не могу сделать второй, потому что я указываю URL отчета (показывать в каждом IFrame) вэтот формат:

http://SERVER_NAME/ReportServer?/path/ReportName&date=01-01-2000&rs:Command=Render&rc:toolbar=false

Эта страница всегда отображает одну и ту же разметку, но перезаписывает ссылочное изображение при каждом запросе.

Чтобы уточнить, проблема не в том, что яя показываю изображения слишком быстро или что сервер запутывается из-за того же сеанса.Это полностью Internet Explorer, предполагающий, что, например, «google.com/filename.jpg» всегда является одним и тем же изображением, когда на одной странице несколько раз.

Любые предложения будут полезны.(Пожалуйста, ради любви ко всему святому, не предлагайте отчеты о кристалах или контроль третьих лиц.) (... Если нет альтернативы.)

Ответы [ 2 ]

1 голос
/ 18 ноября 2010

Я предполагаю, что вы пытаетесь динамически отобразить несколько экземпляров графика (повторите график с разными данными) в одном отчете SRS.

  1. Вместо того, чтобы отображать график несколько раз с различными параметрами, вы можете поместить график в элемент управления List.
  2. Затем верните все данные для каждого графика, включая столбец, по которому будут сгруппированы данные.
  3. Установите для набора данных элемента управления List набор данных графиков.
  4. Перейдите в «Свойства» элемента управления «Список» и нажмите «Изменить группу сведений» ...
  5. Затем на вкладке Общие> Группировать по: вы можете добавить столбец в набор данных, по которому сгруппированы данные.

Теперь график будет повторяться для столбца, выбранного на шаге 5.

0 голосов
/ 28 октября 2010

Если у вас есть доступ для добавления заголовков HTTP к ответу сервера, добавьте заголовки «Expires: -1» и / или «Pragma: no-cache».

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