我正在对一个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)
{
}
}发布于 2020-06-09 17:47:12
当您的控制器具有System.Web.MVC实现,但ActionFilter具有System.Web.Http时,可能会发生这种情况。
https://stackoverflow.com/questions/27974478
复制相似问题