2013-11-15 4 views
2

Я пытаюсь вызвать ту же ссылку, но с разными значениями, проблема в том, что URL-адрес правильный, содержащий новые значения, но когда я его загружаю (Webclient.DownloadStringTaskAsync), он дает мне результат предыдущих вызовов.Кэширование Windows Phone webclient "issue"?

Я попытался добавить заголовки no-cache и привязать случайное значение к вызову, а ifmodifiedSince - заголовок. однако он все еще не работает.

всякая помощь будет очень признательна, потому что я пробовал все.

uri: + "& junk =" + Guid.NewGuid());

client.Headers["Cache-Control"] = "no-cache"; 

    client.Headers[HttpRequestHeader.IfModifiedSince] = DateTime.UtcNow.ToString(); 


    var accessdes = await client.DownloadStringTaskAsync(uri3); 

так вот мой uri3 содержит последние значения, но когда я парить над accessdes, он содержит результат, как если бы я сделать старый uri3 вызов с предыдущими данными набора.

+0

ли ваш телефон с помощью сервис провайдера, который кэширует веб-запросы? –

+0

Как это проверить? – Bohrend

+0

Возможно ли, чтобы сервер игнорировал случайное значение, добавленное в URL? – Bohrend

ответ

0

Я видел одного друга, который прикреплял случайный GUID к URL-адресу, чтобы не допустить, чтобы ОС кэшировала его содержимое. Например: , если Url были: http://www.ms.com/getdatetime, и ОС кэширует его. Наше решение было добавление GUID для создания «своего рода» как новый URL, в качестве примера наш предыдущий Url будет выглядеть следующим образом: http://www.ms.com/getdatetime?cachebuster=21EC2020-3AEA-4069-A2DD-08002B30309D

(подробнее о кэш-попойка: http://www.adopsinsider.com/ad-ops-basics/what-is-a-cache-buster-and-how-does-it-work/)