Я retreiving изображения из каталога веб-сервера, как это:Есть ли способ заставить WebClient, а не возвращать кэшированные данные?
WebClient webClientImgDownloader = new WebClient();
webClientImgDownloader.OpenReadCompleted += new OpenReadCompletedEventHandler(webClientImgDownloader_OpenReadCompleted);
if(uriIndex < uris.Count())
webClientImgDownloader.OpenReadAsync(new Uri(uris[uriIndex], UriKind.Absolute));
Но я заметил, если удалить изображение, Silverlight продолжает получать изображение, как если бы он был там.
Когда я ввожу URL-адрес изображения в FireFox, я также вижу изображение, но затем я нажимаю Reload
, и он дает мне соответствующую ошибку, что изображение не существует. Затем, когда я снова запускаю приложение silverlight, он также дает мне ошибку, что изображение не существует, как если бы браузер сбросил флаг кеша где-то.
Как я могу выполнить «обновление» через WebClient в коде, чтобы, если изображение внезапно не существует на сервере, Silverlight не продолжает выдавать мне кешированную копию?
WebClient не возвращает кэшированные данные. Он возвращает данные, предоставляемые сервером и любыми прокси-серверами кэширования. Вам придется заставить сервер не отправлять вам данные, которые вы не хотите получать. –
@John: На самом деле в этом случае я подозреваю, что никакой фактический запрос не существует вообще. WebClient будет использовать стек браузера, который будет поставлять контент из локального кеша, а не делать запрос на сервер. – AnthonyWJones
@ Энтони: Я не знал, что многократно использовал стек браузера. У вас есть ссылка, чтобы сказать, что это сделано именно так? –