単純なASP.NET Core 2.1アプリケーションがあり、これを設定してからCookieを読み取ることになっています。
Cookieを読み取ろうとすると、nullが返されます。ブラウザの検査ツールをさらに調べると、見つけることができません。
私はこの小さな実装を思いついて、何が起こっているかを整理できるかどうかを確認しましたが、うまくいきません。
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");
}
変数boh
は、前の行で書き込まれた場合でも、デバッガーを介して検査されるとnullです。
初めて設定した直後にCookieを読み取ることはできません。応答によってCookieが作成されると、それを読み取ることができます。このことを考慮:
public async Task<IActionResult> OnPostCreateAsync()
{
var option = new CookieOptions();
option.Expires = DateTime.Now.AddMinutes(10);
Response.Cookies.Append("Emailoption", "true", option);
return RedirectToPage();
}
そして、GetメソッドでCookieを読み取ることができます。
public void OnGet()
{
var boh = Request.Cookies["Emailoption"];
}