08 December 2016

OutPut Caching – Çıktı Ön Bellekleme

Caching Asp.Net’te performansı arttırmak için kullanılan yapıladan biridir. Caching işlemi sayfanın bir çıktısının ön bellekte tutulmasıdır. Daha sonra gelen isteklere artık ön belleklenmiş sayfa gösterilir.

Caching işleminin performans arttırması bir avantajdır. Ayrıca, SEO açısından ön bellekleme yapılması önerilir. Dezavantajları da kodlarda değişiklik yapılarak giderilebilir.

Bir ASP.Net projesi oluşturup sayfa en üstüne aşağıdaki kodları ekleyelim:

<%@ OutputCache VaryByParam=”none” Duration=”30″ %>

VaryByParam sayfanın tamamının ön belleğe alınmasıdır. Duration sayfanın ön bellekte tutulma süresini belirler.

Sayfaya Label ve button ekleyelim:

<asp:Label ID="lblSaat" runat="server" Text="Label"></asp:Label><br />
<asp:Button ID="btnCache" Text="Cache" runat="server" />

Kod kısmına şağıdaki kodu yazalım:

lblSaat.Text = DateTime.Now.ToString();

Sayfa ilk yüklendiğinde ön bellekleme yapılacak. Daha sonra 30 saniye boyunca bu ön bellekten çağrılacak.

Aşağıdaki kodları kullanırsak sadece belirttiğimiz kontrol için ön bellekleme yapılmasını sağlayabiliriz.

<%@ OutputCache VaryByControl="ddlZaman" Duration="30" %>

QueryString e göre cachleme yapmak istiyorsak <%@ OutputCache Duration=”10″ VaryByParam=”id” %> şeklinde bir cachleme yapabiliyoruz. VaryByParam=”*” yazarsak bu cachleme işi tüm Query Stingleri kapsayacaktır.  Birden fazla Query String id’sini noktalı virgül ile ayırarak yazabiliriz.

Partial Caching (Sayfanın bir bölümünü ön bellekleme)

Bu işlem için WebUserControl kullanılır. Bir tane WebUserControl eklenir.  WebUserControl’ün içinde Output Önbellekleme yapılır. Daha sonra aspx sayfasına WebUserControl eklenir.  Sayfada sadece WebUserControl önbellekten getirilir.