AJAX HTTPHandler не обновляет образ - PullRequest
1 голос
/ 11 июня 2009

У меня есть приложение, которое выводит изображение для данного идентификатора пользователя. У меня есть тег изображения, вложенный в панель обновления в элементе управления AJAX TabContainer. У меня для ImageUrl установлено значение «~ / ImageHandler.ashx», а ImageHandler.ashx получает идентификатор пользователя из переменной сеанса userID.

Моя проблема заключается в следующем: при загрузке первого пользователя правильное изображение извлекается, но последующие пользователи не открывают новое изображение. Изображение от первого пользователя остается. Таким образом, создается впечатление, что imageUrl устанавливается, когда первый пользователь загружен и больше не трогается. Как заставить изображение обновляться каждый раз, когда я открываю нового пользователя?

Ответы [ 3 ]

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

Похоже, ваш браузер кеширует. Возможно, попробуйте установить ImageUrl в «~ / ImageHandler.ashx? User = <% = userId%>» или что-то в этом роде. Я предполагаю, что ваш ImageHander.ashx проигнорирует аргумент, но браузер распознает, что URL-адрес отличается, и поэтому попытается извлечь его снова для каждого нового пользователя.

0 голосов
/ 18 сентября 2009

Это мне очень помогло. У меня была такая же проблема. Я отображал изображение из Mermorystream из сессии Вы только что очистили кеш и все заработало.

0 голосов
/ 11 июня 2009

Используйте FireBug, чтобы проверить, если новое изображение, если требуется. Если нет, то убедитесь, что изображение, возвращаемое ImageHandler.ashx, не кэшируется. Вы можете сделать это, посмотрев на параметры заголовка в FireBug. Вы хотите, чтобы срок действия ответа истек немедленно, или убедитесь, что он не установлен в кэш.

В разных парадигмах программирования используются разные способы настройки заголовка. Также, проверив сетевой трафик в FireBug, вы узнаете причину проблемы. Простое решение уже было предложено использовать параметры запроса, чтобы сделать каждый вызов уникальным.

...