سلام .
من یه پروژه 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 کد بزنم؟
خواندن کوکی ها:
//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; }
بدست آوردن آدرس صفحه:
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;
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)