2017-08-25 63 views
0

我有一个属性,当任何请求收到我的asp mvc应用程序时触发。自定义过滤器中的ASP MVC检查会话

public class AllActionsAttribute : ActionFilterAttribute 
{ 
    public override void OnActionExecuting(ActionExecutingContext filterContext) 
    { 
     var session = Session["mySession"]; //it' doesn't work 
    } 
} 

有没有办法在OnActionExecuting()功能检查Session

+0

“它不起作用”是什么意思? Session是否为null?你的钥匙是空的吗?这是否仅在您第一次调整您的应用时发生? – Fran

+0

名称Session在当前上下文中不存在。不会发生任何请求。 – user3748973

回答

1

会话可以通过filterContext

会话访问是一个封装访问HttpContext.Session控制器属性。

在动作过滤器中没有Session属性,您需要通过filterContext查看Session。

filterContext.HttpContext.Session