如何从Razor View的会话中获取价值?

时间:2018-07-25 14:07:22

标签: c# asp.net-mvc

在Core 2.1中: 我在控制器中设置了值

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

当我在view.cshtml中获取值时,该值为null

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

1 个答案:

答案 0 :(得分:1)

我刚刚在我拥有的应用程序中运行了您的代码,并且该代码有效。在我看来,您尚未在应用程序中设置Cookie的使用。请尝试以下操作:

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

完成此操作后,您仍然需要在Startup.cs的Configure方法中对其进行设置

// place after the other app.UseFoo methods. 
app.UseSession();