I have a simple ASP.NET Core 2.1 application which is supposed to set and then read a cookie.
Whenever I try to read the cookie it returns null. Looking further in the browser's inspect tool I am unable to find it.
I came up with this small implementation to see if I can sort out whats going on, but it is not working..
public async Task<IActionResult> Contact(Contato contato)
{
await email.SendAsync(contato);
var option = new CookieOptions();
option.Expires = DateTime.Now.AddMinutes(10);
Response.Cookies.Append("EmailEnviado", "true", option);
var boh = Request.Cookies["EmailEnviado"];
return RedirectToAction("Contact");
}
The variable boh
, when inspected through the debugger is null, even though it was written in the previous line.
You won't be able to read the cookie right after you set it the first time. Once the cookie is created by the response, you will be able to read it. Consider this:
public async Task<IActionResult> OnPostCreateAsync()
{
var option = new CookieOptions();
option.Expires = DateTime.Now.AddMinutes(10);
Response.Cookies.Append("Emailoption", "true", option);
return RedirectToPage();
}
And then you can read the cookie in the Get method:
public void OnGet()
{
var boh = Request.Cookies["Emailoption"];
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With