WebClient.DownloadStringAsync выполняет кеширование ответа сервера.
Получив ответ от сервера, я получаю ответ даже без подключения к интернету!
Достаточно ли уместно кэширование в WebClient, чтобы по отклику сервера определить, как долго нужно кэшировать?
Или это глючит и я должен отключить кеширование.
Справочная информация:
URL: http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml
След Fiddler:
GET /stats/eurofxref/eurofxref-daily.xml HTTP / 1.1
Принять: /
Ссылка: file: /// Applications / Install / 4D0DF1F7-1481-45CA-86BE-C14FF5CCD955 / Install /
Accept-Encoding: личность
Пользователь-агент: NativeHost
Ведущий: www.ecb.europa.eu
Подключение: Keep-Alive
HTTP / 1.1 200 OK
Дата: вс, 25 марта 2012 08:54:40 GMT
Сервер: Apache / 2.2.3 (Linux / SUSE)
Дата последнего изменения: пт, 23 марта 2012 13:31:39 GMT
ETag: "19d4e5-6a9-4bbe90b5904c0"
Accept-Ranges: байты
Длина контента: 1705
Keep-Alive: время ожидания = 3, максимум = 200
Подключение: Keep-Alive
Тип контента: текст / xml
Set-Cookie: BIGipServerPOOL.www.ecb.europa.eu_HTTP = 2684883628.16415.0000; Путь = /
...
Отключение кэширования через заголовки не работает:
.Headers ("cache-control") = "no-cache"
.Headers ("HttpRequestHeader.IfModifiedSince") = DateTime.UtcNow.ToString ()
Отключение кэширования с помощью добавления параметра uniqa работает:
"http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml" &"? MakeRequestUnique = "& Environment.TickCount