Flex HTTPService, кэш браузера и IE

11

Опубликовано: 02-08-2008 | Автор: tshanky | В: Общественные мероприятия / Конференции , РИА - Flex / AIR / PDF / Ajax

Сегодня утром я говорил на Flex событие в Хайдарабаде (Индия). Наше (Saven технологий) членов команды в Хайдарабаде спланировано и организовано это фантастическое событие. Это было общественным событием. Более 200 enthusiatic человек приняли участие в мероприятии.

Я искренне ценю усилия организаторов и поблагодарить присутствующих за то, что успешное проведение этого мероприятия.

Один из посетителей задал мне вопрос о проблемах с Flex HTTPService и IE кэш браузера. Я обещал дать подробное решение проблемы, так вот это:

Проблема: Повторные HTTPService звонки, когда из Flex (работает в пределах экземпляра браузера IE) много раз заканчивается без каких-либо внешних вызовов HTTP. Создается впечатление, что данные в кэше.

Основание: Flash Player piggybacks в браузере, чтобы сделать вызов HTTP. IE кэширует ответ от HTTP GET звонки и от появления одного и того же URL возвращает ответ из кэша.

Решение: Эта проблема может быть решена либо на стороне сервера или на стороне клиента.

Серверная решение: Установить HTTP заголовки ответа, чтобы избежать возвращения ответ из кэша.

В HTML: (в заголовке)

<META HTTP-EQUIV="Cache-Control" CONTENT="NO-CACHE">
<META HTTP-EQUIV="expires" CONTENT="0">

В PHP: (в сценарии)

заголовок ("Cache-Control: в оперативной памяти, необходимо еще раз подтверждают-");
заголовок ("Истекает: Пн, 26 июля 1997 05:00:00 GMT");

В JSP: (перед записью в выходной поток)

response.setHeader ("Cache-Control", "нет-кэш");
response.setDateHeader ("истекает", 0);

Клиент сторона решения: (1) Сделать HTTP POST звонок - только HTTP GET звонки обслуживаются из кэша или (2) Убедитесь в том, HTTP GET URL меняется каждый раз.

(1) Проверьте HTTP POST звонок -
набор метода = "POST" и обрабатывать вызов надлежащим

(2) Добавить уникальный параметр для HTTP GET вызов таким образом, чтобы URL меняется каждый раз. Уникальный штамп времени является хорошим выбором.
Следующий пример, может сделать работу:

VAR timeStampForNocache: Дата = новая дата ();
params.noCacheControlVar timeStampForNocache.getTime = (). ToString ();
Я назвал параметр "noCacheControlVar". Вы можете назвать ее как угодно, что угодно. Название не имеет значения. Важно то, что метки делает HTTP GET URL уникальным.

Вот и все! Надеюсь, что это помогает и IE не беспокоить вас при использовании HTTPService больше.

Комментарии

[...] Источника [...]

Привет,

Мы только что наткнулся на серьезную проблему вчера, когда мы используем HTTPService сделать XMLRPC. Мы делаем это с помощью сообщений использованием as3rpclib (на Google Code) и обнаружил, что если мы будем пытаться делать запросы в 2 подряд первые работы, а второй возвращает ошибку. Использование Fiddler2 я вижу, второй и первой просьбы, и оба Действительно должности, и как возвращать правильные результаты с сервера.

При отладке я вижу в результате второго вызова для показа # 2032: Stream ошибка.

У Вас есть идея какого-либо произведения обходные в этом случае?

Спасибо и отношения
Марк

Большое спасибо ¡¡¡¡
Я провел много времени в поисках этого ¡¡¡.
Я пробовал, и она работает ¡¡¡
Еще раз спасибо.

Эй
Спасибо за этот пост.
Я пытался, и я прекрасно работали
Но сегодня, пока я тестирование моего проекта, он кэширует снова ..
ничего у предложить сделать.

Спасибо заранее

Большое спасибо за сообщение. Это помогло мне несколько Atleast часов.

Большое спасибо за POST

Спасибо большое, это точно фиксирует моя проблема!

Спасибо!

Большое спасибо .. :)

Изменение попадает в должности не является приемлемым решением. Они не равны ...

Сервер стороны решение не решить эту проблему. Здесь гораздо лучшее решение
http://faindu.wordpress.com/2008/04/18/ie7-ssl-xml-flex-error-2032-stream-error/

Добавить комментарий

FireStats значок Работает на FireStats