İçeriğe atla
Mart 18, 2007 / Erkan

ASP.NET C# Veriyi Önbellekte Saklamak (Data Caching)


Web sayfalarında önbellekleme işlemi sayfalarımızın performansını arttırmak için oldukça önemlidir. Eğer web sayfalarınızı ASP .Net ile programladıysanız birkaç önbellekleme çeşidi kullanabilirsiniz. Bu yazımda web sayfamızdaki bir veri kaynağını nasıl önbelleğe yazdırabileceğimizden bahsetmek istiyorum.

Aşağıdaki kod’u projemize eklemeden önce veri kaynağı olarak “OrnekXml.xml” adında bir XML dosyası ve bir adet DataGrid ekleyelim.

OrnekXml.xml Dosyası

<?xml version="1.0" encoding="utf-8" ?>
<data>
<tablo>
<oge1>xxx1</oge1>
<oge2>xxx2</oge2>
</tablo>
</data>

Örnek xml dosyamızı oluşturduktan sonra aşağıdaki kodları projemize ekleyelim.

protected void Page_Load(object sender, EventArgs e)
{
DataSet ds = new DataSet();
// DataSet i almak için önbeleğe gidiliyor
ds = (DataSet)Cache["OnbellekXmlVerisi"];
// DataSet önbellekte yok ise xml dosyası okunuyor.
if (ds == null)
{
ds = new DataSet();
ds.ReadXml(Server.MapPath("~/OrnekXml.xml"));
Cache.Insert("OnbellekXmlVerisi",
ds, null, DateTime.Now.AddMinutes(5), TimeSpan.Zero);
}

this.GridView1.DataSource = ds.Tables[0];
this.GridView1.DataBind();
}

Yukarıdaki kod örneği “OrnekXml.xml” dosyasını 5 dakika boyunca önbellekte tutmanızı sağlayacaktır, her 5 dakika sonunda xml dosyası güncel haliyle yeniden okunup önbellekte saklanacaktır.

5 Yorum

Yorum yapın
  1. yoldaş / Mar 21 2007 12:50 pm

    yararlı bilgi için teşekkürler
    http://yoldas.cu.edu.tr

  2. Özgür / May 15 2008 5:03 am

    Çok teşekkürler.

  3. Ugur CELENK / Haz 3 2008 4:22 pm

    ds = (DataSet)Cache["OnbellekXmlVerisi"];
    // DataSet önbellekte yok ise xml dosyası okunuyor.
    if (ds == null)

    üstteki kısım yerine;
    if (Cache["OnbellekXmlVerisi"] == null)
    yazmak yeterli oluyor, güzel makale..

  4. tD / Tem 21 2008 10:28 pm

    db’deki bir tabloyu bu şekilde çekip sorguları onun üzerinden yapmak da mümkün mü?

  5. Ali / Kas 25 2011 11:28 am

    Değerli paylaşım için teşekkür ederim.

Yorum yapın

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Değiştir )

Twitter picture

You are commenting using your Twitter account. Log Out / Değiştir )

Facebook photo

You are commenting using your Facebook account. Log Out / Değiştir )

Connecting to %s

Takip Et

Get every new post delivered to your Inbox.