KMRT BSRN

"Hiç kimsenin ilgisine ihtiyaç duymadığın gün olgunlaşırsın. Hiç kimseden beklentiye girmediğin gün yara almazsın. Ve hiç kimseye bağımlı kalmazsan kazanırsın." OSHO

ASP .NET – Cache Dependency

Yorum bırakın


Bir asp.net web sayfası açın ve üzerine 1 adet Label , 1 adet Button ve 1 adet GridView atın..

Button ‘un Text ‘ine Cache Oluştur yazın..

Projenize bir XML File ekleyin ve bir Main element ekleyip , içine 2 tane element ekleyin.. (Mesela ad,soyad) sonra sağ tıklayıp View GridView seçeneğini seçip bir kaç veri ekleyin..

Web sayfanıza çift tıklayıp kod sayfasına şunu yazın..


public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

if (!Page.IsPostBack)
{
if (Cache[“veriler”] != null)
{
Cache.Remove(“veriler”);
}
}

if (Cache[“veriler”] == null)
{
this.Label1.Text = “Cache Okunmadı..”;
}

}
protected void Button1_Click(object sender,

EventArgs e)
{
if (Cache[“veriler”] == null)
{
DataSet ds = new DataSet(“myDataset”);
ds.ReadXml(Server.MapPath(“xmlCache.xml”));

/*
* new System.Web.Caching.CacheDependency(Server.MapPath(“xmlCache.xml”)) ifadesiyle cache’i xmlcache.xml dosyasına bağlıyoruz.
* Böylece DateTime.Now.AddSeconds(30) ifadesi ile belirttiğimiz süre sonrasını beklemeden eğer xml dosyada bir değişiklik
* olursa cache otomatik olarak yenilenecektir..
* 30 saniye geçmeden dosyada bir değişiklik yapıp refresh edildiğinde değişikliğin yansıdığı görülecektir..
* Tabii ayrıca 30 saniye sonrada cache yenilenecektir..
*/
Cache.Insert(“veriler”, ds, new System.Web.Caching.CacheDependency(Server.MapPath

(“xmlCache.xml”)), DateTime.Now.AddSeconds(30), TimeSpan.Zero);
this.Label1.Text = “Cache Oluştu ve xmlCache.xml dosyasına bağlandı..”;

/* CacheDependency kullanmazsak dosya değişikliğe uğradıktan sonra refresh yapsakta cache yenilenmeyecektir..
* DateTime.Now.AddSeconds(30) ifadesi ile belirttiğimiz 30 saniye süresini bekleyecektir..
* Ondan sonra cache yenilenecektir..
*/
Cache.Insert(“veriler”, ds, null, DateTime.Now.AddSeconds(30), TimeSpan.Zero);
this.Label1.Text = “Cache Oluştu..”;

//Bu iki ifadeden biri aktifleştirilir..

}
else
{
this.Label1.Text = “Cache ‘den Okundu..”;
}

GridView1.DataSource = Cache[“veriler”];
GridView1.DataBind();

}
}

Reklamlar

Yazar: K. Murat BAŞEREN, MBA, MCP

I am a senior software developer, MCP, consultant, blogger, former chemist and software trainer. My interests range from software developer to technology. I am also interested in web development, education, and coffee.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s