کوکی ها در ASP.NET
چهارشنبه 24 خرداد 1391 6:30 PM
کوکی ها در ASP.NET
کوکی ها برای ذخیره مقدار کمی اطلاعات بر روی دستگاه مشتری (CLIENT) استفاده می شوند. یک کوکی می تواند حداکثر تا ۴ کیلو بایت را ذخیره کند. بطور کلّی کوکی ها برای ذخیره داده هایی که اغلب کاربر تایپ می کند استفاده می شوند، از قبیل اسم کاربری و پسورد برای لاگین در سایت.
دو نوع کوکی وجود دارد: زمانی (session) و دائمی (persistent ). کوکی های زمانی کوکی های موقتی نیز خوانده می شوند که در حافظه مرورگر ذخیره می شوند و زمان حیات آنها به مرورگر بستگی دارد. هنگامی که شما مرورگر را می بندید این کوکی ها هم می میرند. از طرف دیگر کوکی های پایدار بر روی هارد دیسک با اطلاعات تاریخ ذخیره می شوند و برای زمان درازی می توانند زنده بمانند. هنگامی که شما کوکی های پایدار را ایجاد می کنید شما می توانید زمان زندگی کوکی را نیز تعیین کنید. اگر چه مدتی که شما تعیین می کنید تا کوکی زنده بماند قطعی نیست. همچنین اگر چه کوکی ها شئهای مفیدی در دنیای وب هستند امّا آنها برخی محدودیت هایی هم دارند. مثلاً کوکی ها نمی توانند اطلاعات زیادی را در خود ذخیره کنند.
همچنین کوکی ها وابسته به مرورگرها هستند به این معنی که کوکی کاربردی در برخی مرورگرها نمی تواند کار کند. شما می توانید زمان زندگی یک کوکی را تعیین کنید اما نمی توان تضمین کرد که کوکی در آنجا برای مدت طولانی در دسترس باشد. بنابراین ذخیره اطلاعات مهم در کوکی ها ایده خوبی نیست.
ساختن و خواندن کوکیها
کلاس HttpCookie در فضانام System.Web تعریف شده است که کوکی ها را نمایش می دهد. خواص کوکیها مثل Response و Request می تواند در خواندن تمام کوکی ها به کار رود بطوریکه شئ HttpCookieCollection می تواند همه کوکی ها را نمایش می دهد.
همانند دیگر کلاس ها کلاس HttpCookieCollection اضافه کردن حذف کردن و خواندن کوکی ها را از مجموعه برای اعضا فراهم می کند. شما می توانید یک کوکی توسط کلاس HttpCookie با مشخص کردن نام و مقدار کوکی به صورت رشته ای ایجاد کنید. یا شما می توانید از خواص Name و Value برای نام و مقدار کوکی استفاده کنید. خاصیت Expires کلاس HttpCookie یک کوکی پایدار می سازد و زمانی را که کوکی از بین خواهد رفت مشخص می کند. در قطعه کد زیر دوتا کوکی می سازد به نام UID وPASS. شما در این کد می توانید ببینید که ما کوکی ها را به مجموعه توسط تابع Response.Cookies.Add اضافه می کنیم:
Listing 1. Creating cookies
‘ ساختن اسم کاربری و پسورد کوکی ها
‘ دادن مقدار به آنها و اضافه کردن به مجموعه
Dim cookie As HttpCookie = New HttpCookie(“UID”)
cookie.Value = “myid”
cookie.Expires = #9/28/2002#
Response.Cookies.Add(cookie)
cookie = New HttpCookie(“PASS”)
cookie.Value = “mypass”
cookie.Expires = #9/28/2002#
Response.Cookies.Add(cookie)
شما می توانید کوکی ها را با استفاده از صفت Request.Cookies بخوانید. قطعه کد زیر کوکی را از مرورگر می خواند و آنها را به کنترل ListBox اضافه میکند:
Listing2 . Read cookies
‘ خواندن کوکی ها
Dim cookieCols As New HttpCookieCollection()
cookieCols = Request.Cookies
Dim str As String
‘ خواندن و اضافه کردن تمام کوکی ها به لیست باکس
For Each str In cookieCols
ListBox1.Items.Add(“Cookie: ” + str)
ListBox1.Items.Add(“Value:” & _
Request.Cookies(str).Value)
Next
شما می توانید از توابع Clear و Remove در HttpCookieCollection برای حذف کوکی خاص یا همه کوکی ها استفاده کنید. قطعه کد زیر با استفاده از تابع Remove کوکیها را حذف می کند:
Listing3 . Deleting cookies
Dim cookieCols As New HttpCookieCollection()
cookieCols = Request.Cookies
Dim str As String
‘ خواندن و حذف تمام کوکی ها از لیست باکس
Request.Cookies.Remove(“PASS”)
Request.Cookies.Remove(“UID”)
یک کوکی همچنین می تواند چندین مقدار را ذخیره کند. این نوع کوکی، کوکی دیکشنری نامیده می شود. شما می توانید از صفت Values برای ایجاد و خواندن این نوع کوکی ها استفاده کنید. کد زیر یک کوکی دیکشنری می سازد.
Listing4 . Creating a dictionary cookie
Dim cookDict As HttpCookie = New HttpCookie(“dict”)
cookDict.Values(“fname”) = “first name”
cookDict.Values(“lname”) = “last name”
cookDict.Values(“Address”) = “address”
Response.Cookies.Add(cookDict)
کریمی که جهان پاینده دارد تواند حجتی را زنده دارد
دانلود پروژه و کارآموزی و کارافرینی