آموزش ASP.Net > مدیریت کوکی در ASP.Net > تعریف یک کوکی در ASP.Net
مقدمه :
کوکی یک متغیر از نوع متن ( Text ) بوده که حاوی اطلاعات مختلفی می باشد . کوکی ها
در برنامه های وب ، این امکان را به کاربر می دهند تا اطلاعات مورد نظر خود مثل تاریخ
ویزیت یک صفحه در گذشته یا علاقه مندی هایشان درباره یک سایت را ثبت کند .
کوکی ها در هنگام حرکت کاربر در سایت ، از صفحه به صفحه ای دیگر منتقل شده و تا زمانی
که اعتبار داشته باشند ، هر بار که کاربر با همان مرورگر سایت را باز کند ، برای مرورگر
قابل دسترس و خواندن خواهند بود .
مرورگر کوکی ها را بر روی کامپیوتر کاربر مدیریت می کند . در ASP.Net کوکی ها به وسیله
شی HttpResponse که دارای خاصیتی به نام Cookies است ، به کاربر ( Client ) ارسال می
شوند . هر کوکی که شما می خواهید در هنگام فراخوانی صفحه به کاربر ارسال شود ، بایستی
در مجموعه ( cookies collection ) قرار بگیرد .
برای هر کوکی باید یک نام Name و یک مقدار Value تعیین شده و نام آن نیز منحصر به فرد
باشد تا مرورگر بتواند آن را از سایر کوکی های صفحه تشخیص دهد .
دو راه برای نوشتن یک کوکی در کامپیوتر کاربر در ASP.Net وجود دارد . می توانید به
صورت مستقیم خصوصیات کوکی را در مجموعه کوکی ها ( cookies collection ) تعیین کرده
، یا اینکه نمونه ای از شی HttpCookie را ساخته و سپس آن را به مجموعه کوکی های ( cookies
collection ) ارسال نمایید .
نکته مهم : کوکی بایستی قبل از اینکه خروجی صفحه ASP.Net تولید شده
یا در اصطلاح رندر شود ، تعریف و مقدار دهی شود . برای مثال بایستی آن را در رویداد
Page_Load صفحه تعریف کرد نه در تابعی مثل Page_Unload .
نحوه نوشتن یک کوکی به وسیله تعیین خصوصیات آن در مجموعه ( cookies collection ) :
کد زیر نحوه تعریف یک کوکی با نام UserSetting ، که دارای پارامترهای Font و Color
تنظیم شده بر روی مقادیر مورد نظر است ، را به روش تعیین خصوصیات کوکی در مجموعه (
cookies collection ) نشان داده است . این کوکی همچنین به گونه ای تنظیم شده که در
هر بار فراخوانی ، مدت اعتبار آن یک روز تمدید می شود .
کد
VB
|
Response.Cookies("UserSettings")("Font")
= "Arial"
Response.Cookies("UserSettings")("Color")
= "Blue"
Response.Cookies("UserSettings").Expires =
DateTime.Now.AddDays(1)
|
کد
C#
|
Response.Cookies["UserSettings"]["Font"] =
"Arial";
Response.Cookies["UserSettings"]["Color"] =
"Blue";
Response.Cookies["UserSettings"].Expires = DateTime.Now.AddDays(1d);
|
نحوه تعریف یک کوکی با ساختن نمونه ای از شی HttpCookie :
برای این منظور مراحل زیر را انجام دهید :
- یک نمونه از شی HttpCookie را ساخته و نامی را برای آن تعیین نمایید .
- مقادیر لازم را برای خصوصیات کوکی تعیین نمایید .
- کوکی ایجاد شد را به مجموعه کوکی ها ( cookies collection ) اضافه نمایید .
کد زیر ، نحوه انجام این مراحل را نمایش می دهد :
کد
VB
|
Dim myCookie As HttpCookie = New HttpCookie("UserSettings")
myCookie("Font") = "Arial"
myCookie("Color") = "Blue"
myCookie.Expires = Now.AddDays(1)
Response.Cookies.Add(myCookie)
|
کد
C#
|
HttpCookie myCookie = new HttpCookie("UserSettings");
myCookie["Font"] = "Arial";
myCookie["Color"] = "Blue";
myCookie.Expires = DateTime.Now.AddDays(1d);
Response.Cookies.Add(myCookie);
|
نکات مهم :
به طور پیش فرض کوکی ها در تمام صفحاتی که دارای دامنه یکسان هستند ، مشترک بوده و رد
و بدل می شوند . برای ایجاد محدودیت در دسترسی صفحات یک سایت به کوکی خاصی ، مسیر مورد
نظرتان را بایستی در خاصیت Path آن تعیین نمایید .
همچنین چنانچه زمانی برای انقصای یک کوکی تعیین نکنید ، کوکی پس از بسته شدن مرورگر
از بین می رود . پس اگر ماندگاری کوکی برایتان اهمیت دارد ، حتما تاریخ انقضایی برایش
تعریف کنید .
راجع این مطلب
سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...
>>>>> ورود به انجمن تخصصی
نطر خودتان درباره این صفحه را با ما در میان گذاشته و در صورت تمایل از Developer1
حمایت نمایید :