Обновление в RestSharp для Windows Phone - PullRequest
3 голосов
/ 19 мая 2011

Я успешно реализовал RestSharp в своем приложении WP7, но остается одна проблема:

Когда я загружаю ресурсы с сервера (например, запрос GET на http://localhost:8080/cars), при первом сборе (в этом случае) автомобили успешно возвращены.

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

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

Существуют ли способы вручную аннулировать результаты кеша RestSharp для Windows Phone? (Или способы заставить библиотеку получать результаты с сервера)

Ответы [ 2 ]

3 голосов
/ 19 мая 2011

Вы можете контролировать кэширование ресурсов, устанавливая заголовки в ответе, отправляемом вашим сервером.Если вы не хотите, чтобы ресурс кэшировался, тогда установите для заголовка элемента управления кэшированием no-cache.
Задача сервера - указать, как долго ресурс будет полезен, клиент должен приложить все усилия для соблюдения этой информации..

Если вы действительно, действительно хотите удалить записи в кеше, вам нужно пройти через WinINet API

2 голосов
/ 19 мая 2011

Как быстрый способ избежать кеширования, вы можете добавить уникальное значение в конец строки запроса. Подходит текущий DateTime (включая секунды и миллисекунды, если необходимо) или GUID.

например.

var uri = "http://example.com/myrequest?rand=" + DateTime.Now().ToString();
...