我正在对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)
{
}
}
答案 0 :(得分:0)
当Controller具有System.Web.MVC实现但ActionFilter具有System.Web.Http时,可能会发生这种情况。