مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

mohammad1441

عضویت از 1397/07/13

HttpCookie

  • دوشنبه 24 تیر 1398
  • 15:43
تشکر میکنم

سلام .
من یه پروژه MVC دارم که حتما باید همین پروژه رو توی Core پیاده سازی کنیم و یه قسمت هست که باید HttpCookie بسازم و به System.web احتیاج دارم . اما بعد از چند تا سرچ فهمیدم که توی Core دیگه System.web وجود نداره . حالا چجوری باید از 

HttpCookie merchantTerminalKeyCookie = new HttpCookie("Data", JsonConvert.SerializeObject(request));

استفاده کنم؟

البته چندتا مشکل دیگه هم دارم مثل : 

Request.Cookies.AllKeys.Contains("Data")

که قسمت AllKeys رو خطا میده یا 

Request.Cookies["Data"].Value

که قسمت Value رو خطا میده یا 

HttpContext.Request.Url

که قسمت Url رو خطا میده همچنین 

Request.Url.Scheme, Request.Url.Authority

که باز هم Url رو خطا میدن

آیا راهی داره که خطا ها رو برطرف کنم ؟ یا باید این همه زحمتی که کشیدم رو بیخیال بشم و برگردم دوباره با MVC کد بزنم؟

پاسخ های این پرسش

تعداد پاسخ ها : 2 پاسخ
کاربر سایت

رضا نصیری

عضویت از 1392/10/01

  • سه شنبه 25 تیر 1398
  • 08:44

خواندن کوکی ها:

//read cookie from IHttpContextAccessor  
string cookieValueFromContext = _httpContextAccessor.HttpContext.Request.Cookies["key"];  

//read cookie from Request object  
string cookieValueFromReq = Request.Cookies["Key"];  

ثبت کوکی:

public void Set(string key, string value, int? expireTime)  
{  
   CookieOptions option = new CookieOptions();  

   if (expireTime.HasValue)  
         option.Expires = DateTime.Now.AddMinutes(expireTime.Value);  
   else  
         option.Expires = DateTime.Now.AddMilliseconds(10);  
   
   Response.Cookies.Append(key, value, option);  
}  

حذف کوکی:

public void Remove(string key)  
{  
      Response.Cookies.Delete(key);  
}

حالا _httpContextAccesso رو هم به شکل زیر تعرف میکنید:

 private readonly IHttpContextAccessor _httpContextAccessor;  
  
    public HomeController(IHttpContextAccessor httpContextAccessor)  
    {  
        this._httpContextAccessor = httpContextAccessor;  
    }  

کاربر سایت

رضا نصیری

عضویت از 1392/10/01

  • سه شنبه 25 تیر 1398
  • 08:49

بدست آوردن آدرس صفحه:

		var request = HttpContextAccessor.HttpContext.Request;
		var url = string.Format("{0}://{1}{2}{3}", request.Scheme, request.Host.Host, request.Path.ToString(),request.QueryString.ToString())

	
private readonly IHttpContextAccessor _httpContextAccessor;  
  
   public HomeController(IHttpContextAccessor httpContextAccessor)  
   {  
       this._httpContextAccessor = httpContextAccessor;  
   

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)