NSURLConnection, NSURLRequest и удаленное кэширование

Dim lines = IO.File.ReadAllLines(OrderID & ".txt")
Dim SecondLine = lines(1)

File.ReadAllLines открывает и закрывает файл для вас, поэтому нет необходимости добавлять код для его закрытия.

7
задан Kuba Suder 21 March 2009 в 21:45
поделиться

3 ответа

Путем добавления параметра NSURLRequestReloadIgnoringLocalAndRemoteCacheData Вы сообщаете локальному кэшу и любым прокси-серверам, которые могут обработать запрос между Вашим клиентом и целевым сервером, что они не должны возвращать свою собственную версию данных ответа. Я думаю, что ключевой компонент здесь - то, что RemoteCache, вероятно, будет прокси, и Вы просто определяете, что запрос должен всегда достигать реального сервера и не проксированной копии.

При добавлении "stupidly-long-named" параметра, Вы выводите, что Ваше приложение уже имеет предыдущую копию запроса и так только интересуется фактическим получением данных из сервера, если это изменилось, именно поэтому Вы получаете ответ "304, Не Измененных" с сервера.

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

2
ответ дан 6 December 2019 в 19:42
поделиться

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

1
ответ дан 6 December 2019 в 19:42
поделиться

Из документации:

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

Из NSURLRequest.h (10.5 SDK)

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

Обратите внимание на разницу: Не реализовано

Время сообщать об ошибках ...

10
ответ дан 6 December 2019 в 19:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: