Uzmanına Sor

Archive for the ‘application cache’ tag

ASP.Net Samples – Part I : Application Cache, and Cookies

without comments

Merhaba arkadaslar, bu makalemde sizlere ASP.NET icinde bulunan bir cok temel konudan bahsedecegim, ve bunlarla ilgili ornekler gostericem. Kisaca uzerinde duracagimiz konulari ve ornekleri listeleyecek olursak;

  1. Application Cache Sample
  2. Cookie Sample
  3. File Upload Sample
  4. Forms Authentication Sample
  5. Mail Send Sample
  6. Membership Sample
  7. Query String Sample
  8. Session State Sample
  9. Session LogIn Sample
  10. Trace Sample
  11. Web Part Sample
  12. ve Global.asax yapisi.

 

1- Application Cache Sample:

Girmis oldugunuz herhangi bir web sitesinde calisan applicationlarin, sizin localinizde calismasini saglayan yapi Cache yapisidir. Yani verilerin bellekte tutulmasidir. Buna ornek olarak; veritabanimizda bulunan bir tablodaki bilgileri alip .aspx sayfasinda bir gride basacagiz.

public DataTable GetCustomerData()
    {
        DataTable retVAL = new DataTable("Customers");
        SqlDataAdapter SqlAdp = new SqlDataAdapter("SELECT * FROM Customers", 
        ConfigurationManager.ConnectionStrings["Northwind"].ConnectionString);
        try
        {
            SqlAdp.Fill(retVAL);
        }
        catch (Exception ex)
        {
            retVAL = null;
        }
        finally
        {
            SqlAdp.SelectCommand.Connection.Dispose();
        }
        return retVAL;
    }

Bu fonksiyonumuz, efsanevi DB olan Northwind’in :) Customers tablosundan veri aliyor, ve bunu adi Customers olan bir DataTable icerisinde tutuyor. Peki gelelim bu yapiyi Cache kullanarak cagirmaya.

protected void Page_Load(object sender, EventArgs e)
    {
        if (Cache["CustomerData"] == null)
        {
            Cache.Add("CustomerData", GetCustomerData(), null,
DateTime.Now.AddMinutes(3),
 System.Web.Caching.Cache.NoSlidingExpiration,
System.Web.Caching.CacheItemPriority.Default, null);
        }

        GridView1.DataSource = Cache["CustomerData"];
        GridView1.DataBind();
    }

Ustte gormus oldugunuz Kod blogunda ise CustomerData isimli bir Cache olusturuyoruz, ve GetCustomerData() fonksiyonunu kullanarak, datayi Cache’e gomuyoruz. Cache’i silmek isterseniz kullanacaganiz kod adi uzerinde

Cache.Remove("CustomerData");

 

2- Cookie Sample

Cookies kelimesi aslinda hemen hemen her bilgisayar kullanicisinin anlamina ve islevine hakim oldugu bi kavramdir. Gunumuzde girdigimiz web sitelerinde, sitenin bizi tanimasi icin bazi bilgiler gireriz (e-mail, password, kullanici adi gibi). Bu islemi siteye her girisimizde tekrarlamamak adina, site Local diskinizde sizi taniyabilmek adina text dosyasi olusturur. Peki bu islem ne kadar guvenlidir diye soracak olursaniz, bana kalirsa cookie kullanmak pekte guvenli bi olay degildir. Girdiginiz sitelerde “Beni Hatirla” checkboxlari genelde cookie olusturma amaciyla kullanilir. Localinizde olusturulan bu text dosyalari bir komut dosyasi veya virus degildir, sadece size ozel bir tanimlamadir, ve tanimlamayi olusturan web sunucusu tarafindan okunabilir. Cookie ornegimize baslamadan once sekildeki gibi bir .aspx sayfasi olusturalim.

 

image

Button’umuzun Click eventinde su kodlari kullaniyoruz.

 

protected void Button1_Click(object sender, EventArgs e)
    {
        HttpCookie ck = new HttpCookie("SerkanCookie");
        ck.Values.Add("Saat", DateTime.Now.ToLongTimeString());
        ck.Values.Add("Deneme", TextBox1.Text);
        ck.Expires = DateTime.Now.AddDays(1);
        Response.Cookies.Add(ck);
    }

 

Bu islem ile, icerisinde textBox’imizi degerini barindiran bir Cookie yaratiyoruz, ve bu cookie icin bir expire suresi belirtiyoruz.

ck.Expires(DateTime.Now.AddDays(1)); komutu ile Cookie’mizin 1 gun sonra expire olacagi bilgisini belirtiyoruz.

Ve Form Load kisminda, su kodlari uyguluyoruz,

protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.Cookies["SerkanCookie"] != null)
        {
            HttpCookie serkan = Request.Cookies["SerkanCookie"];
            TextBox1.Text = serkan["Saat"] + " " + serkan["Deneme"];
        }
    }

 

Boylece Form’u tekrar Run ettigimiz zaman, sistem kayitli olan Cookie dosyasini bulmaya calisip icindeki bilgileri textBox’a yazar.

2. makalemde File Upload ve Forms Authantication konularina deginecegim.

Written by Serkan Hekimoğlu

January 19th, 2010 at 6:14 pm