C# OnActionExecuting未被执行

C# OnActionExecuting未被执行,c#,asp.net,asp.net-mvc,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,我正在对ASP.NET MVC应用程序进行故障排除,但有一台服务器上的OnActionExecuting没有启动。我已经很久没有看过过滤器了。什么可以阻止OnActionExecuting运行?在我们的应用程序中,用户上下文从未真正设置(初始化)。。。因此,所有内容都会将用户重定向回登录页面 这是过滤器的代码。注:“Jupiter”是该项目的代号 public class JupiterAuthenticationFilter : IActionFilter { private rea

我正在对ASP.NET MVC应用程序进行故障排除,但有一台服务器上的OnActionExecuting没有启动。我已经很久没有看过过滤器了。什么可以阻止OnActionExecuting运行?在我们的应用程序中,用户上下文从未真正设置(初始化)。。。因此,所有内容都会将用户重定向回登录页面

这是过滤器的代码。注:“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)
    {

    }
}

当控制器具有System.Web.MVC实现,但ActionFilter具有System.Web.Http时,可能会发生这种情况

是否调用构造函数且上下文不为null?授权筛选器始终在其他筛选器之前调用,因此如果用户未登录,则不会调用此筛选器,将调用ctor且上下文不为null,但尚未设置上下文的属性。ex.int UserId=0是否知道为什么这会在本地机器和生产机器上工作,而不是在我的QA箱上。完全相同的代码。谢谢@用户3873265