آموزش 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 :

برای این منظور مراحل زیر را انجام دهید :

  1. یک نمونه از شی HttpCookie را ساخته و نامی را برای آن تعیین نمایید .
  2. مقادیر لازم را برای خصوصیات کوکی تعیین نمایید .
  3. کوکی ایجاد شد را به مجموعه کوکی ها ( 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 حمایت نمایید :

آیا مطالب این صفحه برای شما مناسب و مفید بوده است :

نام :                 
آدرس Email :    
 
نظر شما :  
 
سوال امنیتی : پایتخت ایران ؟      
حمایت از سایت Developer1