Таймер или веб-клиент в С# каким-то образом удерживают предыдущие значения переменных

В timer_tick есть веб-клиент, который проверяет URL-адрес, и если этот URL-адрес что-то возвращает, веб-клиент загружает другой URL-адрес, в основном второй URL-адрес используется как GET, поэтому, когда вызывается этот второй URL-адрес, php-сервер удаляет значение из базы данных . Таким образом, в следующий раз, когда будет проверен первый URL-адрес, ничего не будет возвращено. Но проблема в том, что даже после отправки 2-го URL-адреса веб-клиент, кажется, возвращает старые значения как минимум 3-4 раза, когда 1-й URL-адрес проверяется в последовательных циклах таймера, а затем отображаются новые данные. Чтобы убедиться, что сам сервер возвращает какие-либо кешированные данные, я проверил это вручную, перейдя по ссылке напрямую, и никаких кешированных данных не было, они всегда были актуальными прямо в момент выполнения 2-го URL-адреса. Итак, кто-нибудь может предположить, почему это может происходить?


person Adib    schedule 12.05.2016    source источник


Ответы (1)


см. C# WebClient отключить кеш


см. https://msdn.microsoft.com/en-us/library/system.net.webclient.cachepolicy(v=vs.110).aspx


короче WebClient может кешировать. В первом вопросе подробно описывается сложность попытки предотвратить его кеширование.

person tolanj    schedule 12.05.2016