我正在尝试像这样将用户 ID 存储在会话状态中。
var userInfo = HttpContext.Session.GetString("UserId");
我在上面的行中有一个例外。我已经看到了类似问题的修复程序,并且大多数人说我需要在 app.UseMvc() 之前调用 app.UseSession() ,我已经是这样了。我不知道如何解决这个问题。我试图重新排列 Startup.cs 中的代码,但无法解决此问题。请协助。
InvalidOperationException:尚未为此应用程序或请求配置会话
我像这样存储用户ID:
HttpContext.Session.Set("UserId", Encoding.ASCII.GetBytes(user.UserId));
此外,当前属性始终为空,因此我不确定它是否正确存储了用户 ID。(见附件快照)
我正在使用 ASPNET Core 2.2。Startup Configure 方法中的代码如下所示
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseSession();
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseStaticFiles();
app.UseMvc();
}
在 ConfigureServies 方法中,我添加了这个
services.AddSession(options => {
options.IdleTimeout = TimeSpan.FromMinutes(30);
});