web-dev-qa-db-fra.com

Utilisation de cookies dans ASP.NET Core 2.1

J'ai une simple application ASP.NET Core 2.1 qui est censée définir puis lire un cookie.

Chaque fois que j'essaie de lire le cookie, il renvoie null. En regardant plus loin dans l'outil d'inspection du navigateur, je ne peux pas le trouver.

Je suis venu avec cette petite implémentation pour voir si je peux trier ce qui se passe, mais cela ne fonctionne pas ..

 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");
 }

La variable boh, lorsqu'elle est inspectée via le débogueur, est nulle, même si elle a été écrite dans la ligne précédente.

6
Sergio Di Fiore

Vous ne pourrez pas lire le cookie juste après l'avoir défini la première fois. Une fois le cookie créé par la réponse, vous pourrez le lire. Considère ceci:

public async Task<IActionResult> OnPostCreateAsync()
{

    var option = new CookieOptions();
    option.Expires = DateTime.Now.AddMinutes(10);
    Response.Cookies.Append("Emailoption", "true", option);
    return RedirectToPage();
}

Et puis vous pouvez lire le cookie dans la méthode Get:

public void OnGet()
{
    var boh = Request.Cookies["Emailoption"];
}
12
Pushkar Shembekar