Asp.NET Output Cache-Önbellekleme Kullanımı
Merhaba arkadaşlar ,
Bu yazımda sizlere Asp.NET Output Cache-Önbellekleme Kullanımı anlatacağım. Asp.Net te bir web sitesi kodlarken en dikkat ettiğimiz yer performanstır. Yani sitemizin yüklenme hızı çalışma hızı ne kadar iyi ise sitemizde o kadar iyidir. Sitemizin hızı da neye bağlıdır tabiki Önbellekleme yani OutputCaching e bağlıdır. OutputCaching ‘in kısaca ne olduğundan ne iş yaptığından bahsetmek gerekirse ;
OutputCache-Önbellekleme : Çalıştırılan Web sayfamızın HTML çıktısının Önbellekte saklanması ve bir sonraki istekte direk olarak Önbellekteki HTML çıktısının gönderilmesidir. Yani sayfamız bir kere çalıştığında HTML çıktısı ön bellekte saklanacak ve bir sonraki sayfayı açma yada yenileme isteğinde önbellekte saklanan HTML çıktı gönderilecektir.
Az bilgi verdim ama en kısa şekilde ve kafanızı karıştırmadan bu şekilde açıklayabildim OutputCaching ‘i. Şimdi daha fazla konuşmayı uzatmadan kodlamamıza geçelim ;
1) Boş bir Web Sayfası oluşturalım ve sayfamıza hiçbir nesne koymadan direk Page_Load eventine gelelim kodlarımızı yazmaya başlayalım ;
Response.Write(DateTime.Now); // Ekrana şu anki tarih ve zamanı yazdırıyoruz.
Şimdi projemizi çalıştıralım ve sürekli F5 e basalım. Ne oluyor?. Anlık olarak ekrana zaman yazmakta . Her sayfayı yenilediğimizde saniye 1 er 1 er artmakta. Yani herhangi bir önbellekleme yok sayfayı her yenilediğimizde yeniden gönderiliyor.
2) Şimdi de Output Caching ekleyeceğiz . Web sayfamızın xaml kısmına gelip sayfa direktifi kısmına kodlarımızı yazalım ;

Resmi tam olarak koymamın sebebi Asp.Net ‘te yeni arkadaşlar OutputCache yi nereye yazacaklarını bilemiyorlar o yüzden bu şekilde daha açıklayıcı olmuştur .
<%@OutputCache Duration=”10″ Location=”Any” VaryByParam=”none” %>
Şimdi yukarıdaki tek satırlık kodumuzu açıklayalım ;
Duration=”10″ = Burada sayfanın kaç saniye önbellekte kalacağını belirttik. ben 10 saniye kalmasını istedim. İstediğiniz değeri verebilirsiniz.
Location=”Any” = Burada önbelleklemenin nerede yapılacağını belirtiyoruz. Any : Client , Proxy Server veya Server üzerinde demek.
VaryByParam=”none” = Burada none diyerek sayfamızın tamamını önbelleklemeye aldık.
Şimdi bu işlemleri gerçekleştirdikten sonra Web Sayfamızı çalıştıralım ve tekrardan süreki olarak yenileyelim. Ne oluyor şimdi peki ne fark etti?. Şimdi her yenilediğinizde ekrandaki saniye değeri yenilenmiyor. 10 saniyede bir yenileniyor. Çünkü sayfayı 10 saniyelik önbelleğe aldırıyoruz ve biz 10 saniye içerisinde sayfayı tekrardan istediğimizde bize önbellekteki kopyasını gönderiyor.
Asp.NET Output Cache-Önbellekleme Kullanımı hakkında şimdilik anlatacaklarım bu kadar arkadaşlar. Bir sonraki makalemde görüşmek üzere.