ASP.NET uygulamasında, önbelleğe almak istediğim harici kaynakları almak için HttpWebRequest kullanıyorum. Aşağıdaki kodu düşünün:HttpWebRequest, ASP.NET ortamında önbellek kullanmaya nasıl zorlanır?
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 önbellek kullanır, ben (küçük cmd testi uygulamasında) normal kullanıcı olarak çalıştırmak, böylece zaman, veri %userprofile%\Local Settings\Temporary Internet Files
için önbelleğe alınır ve sonraki tepkiler önbellekten okunur.
Böyle bir kod ASP.NET uygulamasında çalıştırıldığında, verilerin ...\ASPNET\Local Settings\Temporary Internet Files
için önbelleğe alınacağını ancak önbellek kullanılmayacağını düşündüm. Yanlış yapıyorum
? HttpWebRequest ASP.NET ortamında önbellek kullanmak için nasıl zorlanır?
Ne hesabı ASP.NET uygulaması altında çalışan:
Bu makale önbelleğimizi sorun giderme için yararlı oldu? Önbellek bu hesap altında oluşturulacak. – feroze
@feroze: Uygulama, ASPNET hesabı altında çalışıyor ve ben, Environment.SpecialFolder.InternetCache inceleyerek Temporary Internet Files yolunu biliyorum. Sorun, önbellek girişlerinin nerede oluşturulduğunu bilmediğim, ancak hiç oluşturulmadıkları değil. – piotrsz
Yanıt nesnesini kapatmak ve atmak için bir satır ekleyebilir misiniz: resp.Close(); ve hala sorun yaşıyorsanız kontrol edin? – feroze