OnActionExecuting没有被执行。

问题描述 投票:2回答:1

我正在对一个ASP.NET MVC应用程序进行故障排除,在一台服务器上,OnActionExecuting没有被触发。我已经很久没有看过滤器了。是什么原因能让OnActionExecuting不运行?在我们的应用程序中,效果是用户上下文从未真正被设置(Initialize)......所以一切都将用户重定向回登录页面。

这里是过滤器的代码。请注意 "Jupiter "是项目的代号。

public class JupiterAuthenticationFilter :  IActionFilter
{
    private readonly IJupiterContext _jupiterContext;

    public JupiterAuthenticationFilter(IJupiterContext jupiterContext)
    {
        if (jupiterContext == null)
        {
            throw new ArgumentNullException("jupiterContext");
        }

        _jupiterContext = jupiterContext;
    }

    public void OnActionExecuting(ActionExecutingContext filterContext)
    {
        _jupiterContext.Initialize();
    }

    public void OnActionExecuted(ActionExecutedContext filterContext)
    {

    }
}
c# asp.net asp.net-mvc asp.net-mvc-4
1个回答
0
投票

当你的Controller有System.Web.MVC实现,但ActionFilter有System.Web.Http。

© www.soinside.com 2019 - 2024. All rights reserved.