[.NET Core].NET Core 3/.NET 5应用程序编程中如何在ActionFilterAttribute过滤器中获取Session数据呢?
3.24K 次浏览
在.NET Core 3+或者.NET 5的Web应用程序中,如果需要在ActionFilterAttribute
过滤器中获取当前请求上下文中的Session应该如何操作呢?
使用
Session[key]
这种方式,编译器会报错。
示例过滤器代码如下:
using System;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc.Filters;
namespace SessionDemo
{
public class SessionCheckAttribute: ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext context)
{
var userName = Session["user_name"]; // 编译器报错
Console.WriteLine($"Current user name in session: {userName}");
}
}
}