نحوه استفاده از کوکی ها درasp.net core
نحوه استفاده از کوکی ها درasp.net core

درگذشته همه دیتاهای کاربران درون سرور ذخیره می‌شد. دیتاهایی که ممکن بود خیلی کم به آن نیاز پیدا کنیم و همین امر باعث می‌شد بار اضافه بر روی سرور بگذاریم همین مشکل باعث شد شیوه جدیدی برای ذخیره‌سازی برخی اطلاعات به وجود بیاید به نام کوکی‌ها.

 در دوره رایگان و پروژه محورآموزشaspدر فصل پروژه عملی کار با کوکی در asp.net core  را آموزش داده‌ایم.

 

برای یادگیری کوکی‌ها درasp.net cor این ویدئو رو تماشا کنید 
 

 

کوکی‌ها شیوه جدید ذخیره‌سازی اطلاعات هستند (البته چند سالی هست که روی کار آمده‌اند) در این روش اطلاعات بر روی سرور ذخیره نمی‌شوند بلکه برروی مرورگر خود کاربر ذخیره می‌شود و هروقت دیتا را لازم داشتیم از خود مرورگر کاربر می‌گیریم.


در فصل سوم از دوره رایگان مبانی وب کوکی ها را آموزش داده ایم.

توجه داشته باشید با هرrequest و responseاین کوکی‌ها بین کلاینت و سرور جابه‌جا می‌شوند.

هر کوکی از دو بخش تشکیل شدهkeyوvalue ما باید برای استفاده از کوکی‌ها این دو مقدار را به‌صورت رشته‌ای تعریف می‌کنیم.
 

به کد زید توجه کنید

Response.Cookies.Append ( “Message” , ”WellcomToBugeto” );

با کد بالا می‌توانید یک کوکی در مرورگر کاربر ذخیره کنید که کلید آنMessageو مقدار آنWellcomToBugetoاست این ساده‌ترین شکل کوکی است.

نوع حرفه ای و پیچیده‌تر این کوکی‌ها به این شکل است که می‌توانیم تنظیماتی برای کوکی‌ها اختصاص دهیم 

به کد زیر توجه کنید

            Response.Cookies.Append("Message", "welcome", new CookieOptions
            {
                HttpOnly = true,
                Secure = Request.IsHttps,
                Path = Request.PathBase.HasValue ? Request.PathBase.ToString() :"/",
                Expires = DateTime.Now.AddDays(5),
            });

در کد بالا ما یک سری تنظیمات برای کوکی قرار دادیم در ادامه پارامترهایی برای تنظیمات کوکی‌ها را بررسی می‌کنیم

 

HttpOnly:این پارامتر به‌صورتbool است و اگر مقدار آنtrue باشد فقط از طریق درخواست‌هایhttp می‌توانیم به آن دسترسی داشته باشیم و با اسکریپت‌ها این کار امکان‌پذیر نیست

Secure:این پارامتر نیز به‌صورتbool است و اگر مقدار آنtrue باشد فقط از طریق پروتکل‌هایی کهhttpsهستند می‌توان به کوکی دسترسی داشت و اگر بخواهم با هر دوی پروتکل‌هایhttp وhttpsکار کنیم باید مقدار آن را به‌صورتSecure = Request.IsHttps بدهیم

PATH:با این پارامتر می‌توان مسیر کوکی را مشخص نمود. با کد مقابل می‌توان مسیر جاری را به آن اختصاص داد و اگر مسیر جاری مقدار داشت همان را به‌عنوان مسیر کوکی اختصاص می‌دهیم و اگر مقدار نداشت "/" را برای مسیر می‌دهیم یعنی مسیر جاری

Path = Request.PathBase.HasValue ? Request.PathBase.ToString() :"/"

 

Expires: این پارامتر مشخص‌کننده تاریخ انقضای کوکی است و بعد از تاریخ مقدار ورودی این کوکی به‌صورت خودکار از مرورگر کاربر پاک می‌شود

 

 

*برای دیدن کوکی‌های ذخیره شده در مرورگر می‌توان ازinspect و تبstorage استفاده کرد

*اگر برای کوکی تاریخ انقضا مشخص نکنیم به‌صورت پیش‌فرض مقدارsession ذخیره می‌شود که به این معنی است که بعد از بستن مرورگر کوکی پاک می‌شود

*بعد از نوشتن کوکی ما نیاز داریم که به آن دسترسی داشته باشیم با کد زیر می‌توان مقدار کوکی را به دستاورد البته روش‌های دیگری برای به‌دست‌آوردن مقدار کوکی وجود دارد که در این مقاله ما دو روش را آموزش خواهیم داد

روش اول:در این روش مقدار کوکی درون متغیر ریخته می‌شود

Var CookieValue=Request.Cookies[“KeyName”].ToString();

روش دوم:با این روش اگر کوکی با این کلید وجود داشته باشد مقدارtrue بر می‌گردد و درون متغیر ریخته می‌شود


String CookieValue;
Request.Cookies.TryGetValue(“KeyName”, Out CookieValue);

*برخی مواقع نیاز داریم که مقدار کوکی را به‌صورت دستی پاک کنیم کد زیر این کار را برای ما انجام می‌دهد

Response.Cookies.Delete(“KeyName”);

 

 

تگ‌ها
اشتراک
0 نظرات

برای ارسال نظر باید وارد حساب کاربری خود شوید
ورود به حساب کاربری ثبت نام