دسته بندی ها
14:58 1398/07/20

استفاده از کوکی در Asp.net core

مشخصات سوال کننده :
کاربر : hamid_b     امتیاز کاربر : 518     رتبه کاربر : 4
دسته بندی : Asp.net Mvc Asp.net Core

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 3526
هوش مصنوعی

پاسخ هوش مصنوعی

برای استفاده از کوکی ها در ASP.NET Core، شما می توانید از کلاس HttpContext استفاده کنید. در زیر یک مثال ساده از نحوه ایجاد، خواندن و حذف کوکی ها در یک کنترلر ASP.NET Core آورده شده است.

using Microsoft.AspNetCore.Mvc;
using System;

namespace YourNamespace.Controllers
{
    public class HomeController : Controller
    {
        public IActionResult Index()
        {
            // ایجاد کوکی
            Response.Cookies.Append("MyCookie", "Hello World", new CookieOptions
            {
                Expires = DateTimeOffset.UtcNow.AddDays(1) // زمان انقضا کوکی
            });

            return View();
        }

        public IActionResult GetCookie()
        {
            // خواندن کوکی
            if (Request.Cookies.TryGetValue("MyCookie", out string cookieValue))
            {
                ViewBag.CookieValue = cookieValue;
            }
            else
            {
                ViewBag.CookieValue = "کوکی پیدا نشد.";
            }

            return View();
        }

        public IActionResult RemoveCookie()
        {
            // حذف کوکی
            Response.Cookies.Delete("MyCookie");
            ViewBag.Message = "کوکی حذف شد.";
            return View();
        }
    }
}

در این مثال، ما یک کنترلر به نام HomeController داریم که متدهای زیر را شامل می شود:

  • Index(): برای ایجاد یک کوکی به نام MyCookie استفاده می شود.
  • GetCookie(): برای خواندن مقدار کوکی و نمایش آن به کاربر.
  • RemoveCookie(): برای حذف کوکی.

شما می توانید این متدها را در نماهای مختلف خود فراخوانی کنید تا به راحتی با کوکی ها کار کنید. فقط کافیست این کنترلر را در روتینگ برنامه تان تنظیم کنید و نمای مرتبط را ایجاد کنید. این کار به شما کمک می کند تا با کوکی ها در ASP.NET Core آشنا شوید.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : fateme 23:24 1398/07/26

برای استفاده از کوکی در Asp.net core باید ابتدا در فایل StatUp.cs و در متد ConfigureServices سرویس مربوط به کوکی رو راه اندازی کنید. برای این منظور میتونید از کدهای زیر استفاده کنید :

 

      services.ConfigureApplicationCookie(options =>
            {
                // Cookie settings
                options.Cookie.HttpOnly = true;
                options.ExpireTimeSpan = TimeSpan.FromMinutes(5);

                options.LoginPath = "/Identity/Account/Login";
                options.AccessDeniedPath = "/Identity/Account/AccessDenied";
                options.SlidingExpiration = true;
            });

 

 

بعد از اون باید در همین فایل startUp.cs و در متد Configure از میان افزار یا middleware مربوط به کوکی ها هم استفاده کنید. به صورت زیر

app.UseCookiePolicy();

 

بعد از اون در هر قسمتی از پروژه که قصد دارید اطلاعاتی رو در کوکی مرورگر کاربر ذخیره کنید کافیه از قطعه کد زیر استفاده کنید 

var option = new CookieOptions();
option.Expires = DateTime.Now.AddMinutes(3);
option.HttpOnly = true;
Response.Cookies.Append("Key", "Value", option);

 

در مثال بالا Key یک نام دلخواه هست. در واقع نام کوکی شما هست که در مرورگر کاربر ذخیره میشه. باید سعی کنید نامهای خیلی ساده استفاده نکنید و مقدار Value هم مقدار داخل کوکی می باشد.

 

همچنین برای دریافت مقدار کوکی از مرورگر کاربر از قطعه کد زیر استفاده می شود :

 

string getCookieValue = Request.Cookies["Key"];

 

به این پاسخ امتیاز بدهید    1
امتیاز: 1635 رتبه: 2
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود