Как получить значение из сессии в Razor View?

В Core 2.1: я устанавливаю значение в контроллере

HttpContext.Session.SetString("IsAuthenticated", "true");

когда я получаю значение в view.cshtml, значение равно нулю

if (Context.Session.GetString("IsAuthenticated") == "true")

1 ответ

Я просто запустил ваш код в приложении, которое у меня есть, и это сработало. Мне кажется, что вы не настроили использование файлов cookie в своем приложении. Попробуйте следующее:

// The following goes into ConfigureServices in Startup.cs
services.AddDistributedMemoryCache();
services.AddSession(options =>
{
    options.IdleTimeout = TimeSpan.FromMinutes(5);
    options.Cookie.HttpOnly = true;
});

Сделав это, вам все еще потребуется еще одна вещь, чтобы настроить его в Configure метод в Startup.cs

// place after the other app.UseFoo methods. 
app.UseSession(); 
Другие вопросы по тегам