プログラムを中心とした個人的なメモ用のブログです。 タイトルは迷走中。
内容の保証はできませんのであしからずご了承ください。

2019/04/27

[ASP.NET Core] ブラウザによってはセッションの状態が保存されない

event_note2019/04/27 5:48

Edge と Firefox ではセッションが保持されるのに、Chrome と IE11 では保持されないという現象になり、はまったのでメモしておきます。

環境

  • ASP.NET Core 2.2

解決方法

Startup.csConfigureServices で、AddSession() を以下のように行っていました。

services.AddSession();

これを公式サイトにあるように、以下のように変更すると、全てのブラウザでセッションが保持されるようになりました。

services.AddSession(options =>
{
    // Set a short timeout for easy testing.
    options.IdleTimeout = TimeSpan.FromSeconds(10);
    options.Cookie.HttpOnly = true;
    // Make the session cookie essential
    options.Cookie.IsEssential = true;
});

IsEssentialtrue にしなければならないようです。
(既定値は false