我正在尝试像这样获取会话
@HttpContext.Session.GetString("some");
但我得到了
*
非静态字段需要对象引用......
*
有人有想法吗?
您必须将IHttpContextAccessor
实现注入视图并使用它。
@using Microsoft.AspNetCore.Http
@inject Microsoft.AspNetCore.Http.IHttpContextAccessor HttpContextAccessor
现在您可以访问HttpContext
属性,然后Session
<p>
@HttpContextAccessor.HttpContext.Session.GetInt32("MySessionKey")
</p>
假设您已经完成了在startup
类中启用会话的所有必要设置。
在ConfigureServices
方法中
services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
和Configure
方法中的IApplicationBuilder.UseSession
方法调用。
app.UseSession();