首页 > 解决方案 > 通过 .NET CORE 中的 ActionFilterAttribute 访问会话

问题描述

我尝试使用 .NET CORE 中的 ActionFilterAttribute 访问会话值。因此我使用以下代码:

获取注释 [SessionCheck] 的普通 .NET Core 控制器。

[SessionCheck]
public class HomeController : Controller
{
}

这些类由 ActionFilterAttribute 类扩展并覆盖 OnActionExecuted 方法,我想在其中访问会话值。有没有可能?我只能访问密钥,但不能访问会话值。

public class SessionCheck:ActionFilterAttribute
{
    public override void OnActionExecuted(ActionExecutedContext context)
    {
        var session = context.HttpContext.Session;
        //var mySessionValue = session["user"];
    }
}

我的主要问题是,我有一个会话值,它描述了我必须在哪里路由我的请求。如果有特殊值,我想将我的请求路由到位置 A,否则路由到位置 B。

还有另一种可能吗?

标签: .net-coreasp.net-core-2.1

解决方案


我有同样的问题,您可以执行以下操作:

filterContext.HttpContext.Session.GetString("user");

推荐阅读