asp.net-mvc - 尚未为此应用程序配置会话或请求错误
问题描述
我对 asp.net 很陌生,最近我遇到了这个异常:
System.InvalidOperationException
异常的详细信息说:
尚未为此应用程序或请求配置会话。
这是它发生的代码片段:
[HttpPost]
public object Post([FromBody]loginCredentials value)
{
if (value.username.Equals("Admin")
&&
value.password.Equals("admin"))
{
HttpContext.Session.Set("userLogin", System.Text.UTF8Encoding.UTF8.GetBytes(value.username)); //This the line that throws the exception.
return new
{
account = new
{
email = value.username
}
};
}
throw new UnauthorizedAccessException("invalid credentials");
}
我不知道为什么会这样,也不知道这个错误实际上意味着什么。有人可以解释一下可能导致这种情况的原因吗?
解决方案
在您的 Startup.cs 中,您可能需要调用
app.UseSession 在 app.UseMvc 之前
app.UseSession();
app.UseMvc();
为此,您还需要确保安装了Microsoft.AspNetCore.Session nuget 包。
更新
你不需要使用 app.UseMvc(); 在 .NET Core 3.0 或更高版本中