Как можно предотвратить запрос кэширования ответов Silverlight Client Http? - PullRequest
1 голос
/ 16 сентября 2010

Я использую HttpWebRequest, созданный из WebRequestCreator.ClientHttp.Create(), для извлечения данных из веб-службы.И все, казалось, работало нормально, пока я не узнал звонки, где кешируется.Я был почти уверен, что ClientHttp не включал в себя кэширование, но после небольшого поиска я нашел эту небольшую заметку:

Обработка клиента HTTP

  • Поддержка кэширования

http://msdn.microsoft.com/en-us/library/dd772166(VS.95).aspx#networking

Что нового в Silverlight 4 на странице MSDN.Но это почти единственная информация, которую я могу найти.Я обнаружил еще одно сообщение о том, что ClientHttp будет запрашивать соответствующие заголовки без кэширования с сервера, но я действительно предпочел бы, чтобы мое приложение Silverlight не зависело от настроек на стороне сервера.

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

Есть ли способ просто отключить кэш на ClientHttpWebRequest? - Предпочтительнее наодиночный вызов, а не глобальная настройка.

Ответы [ 2 ]

0 голосов
/ 06 января 2011

Я не думаю, что есть способ контролировать это со стороны клиента. На стороне сервера установка Cache-Control = no-cache вызвала у меня ошибки, но я смог предотвратить кэширование содержимого в стеке клиента, установив в заголовке Expires дату в прошлом (Response.Expires = -10;) .

0 голосов
/ 16 сентября 2010

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

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