HttpWebRequest
использует System.Net.Cache.RequestCache
для кэширования. Это абстрактный класс; фактическая реализация в Microsoft CLR - Microsoft.Win32.WinInetCache
, которая, как следует из названия, использует для кэширования функции WinInet .
Это тот же кеш, который используется Internet Explorer, поэтому вы можете очистить кеш вручную, используя диалоговое окно IE Delete Browsing History. (Сделайте это сначала в качестве теста, чтобы убедиться, что очистка кэша WinInet решает вашу проблему.)
Предполагая, что очистка кэша WinInet решает проблему, вы можете программно удалять файлы, используя P / Invoking для DeleteUrlCacheEntry WinInet API:
public static class NativeMethods
{
[DllImport("WinInet.dll", PreserveSig = true, SetLastError = true)]
public static extern void DeleteUrlCacheEntry(string url);
}