Как заставить HttpWebRequest использовать кеш в среде ASP.NET?
В моем приложении ASP.NET я использую HttpWebRequest для извлечения внешних ресурсов, которые я хотел бы кэшировать. Рассмотрим следующий код:
var req = WebRequest.Create("http://google.com/");
req.CachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.CacheIfAvailable);
var resp = req.GetResponse();
Console.WriteLine(resp.IsFromCache);
var answ = (new StreamReader(resp.GetResponseStream())).ReadToEnd();
Console.WriteLine(answ.Length);
HttpWebRequest использует кеш IE, поэтому, когда я запускаю его как обычный пользователь (в крошечном тестовом приложении cmd), данные кэшируются в%userprofile%\Local Settings\Temporary Internet Files
и следующие ответы читаются из кеша.
Я думал, что когда такой код запускается внутри приложения ASP.NET, данные будут кэшироваться в...\ASPNET\Local Settings\Temporary Internet Files
но это не так, и кеш никогда не используется.
Что я делаю не так? Как заставить HttpWebRequest использовать кеш в среде ASP.NET?