2013-05-21 2 views
2

RestSharp (monotouch), кажется, игнорирует заголовки Cache-Control, на которые отвечает сервер (для вызовов GET). Это общий случай, что RestSharp не выполняет надлежащее кэширование HTTP? Или я что-то пропустил? Используются следующие параметры заголовка, но документ не кэшируется.HTTP-кеширование в RestSharp (monotouch)

Date: Tue, 21 May 2013 11:34:55 GMT 
Content-Type: application/json 
Transfer-Encoding: chunked 
Connection: keep-alive 
Cache-Control: no-transform, max-age=3600 
Content-Encoding: gzip 

Если сам RestSharp не поддерживает правильное кэширование, как кэширование локального HTTP лучше всего осуществлять вместе с RestSharp? Добавление кэширующего прокси-компонента?

ответ

1

Это старый вопрос, и я искал ответ, когда я наткнулся на это: Monotouch - iphone HttpWebRequest turn off caching?

Теперь, поскольку RestSharp использует HttpWebRequest под капотом, и реализация HttpWebRequest в MonoTouch не функция кэширования, кэширование также не будет работать в RestSharp. Таким образом, вы (и я) должны реализовать свой собственный компонент кеширования.

+1

Приятным местом для начала может быть использование кеша LRU в MonoTouch.Dialog, написанном Мигелем ДеИказой. Он используется для кэширования изображений, но я уверен, что он может быть перенастроен для ответов HTTP с небольшой работой. – NovaJoe