Asp.net mvc 自定义筛选属性和自定义授权属性执行

Asp.net mvc 自定义筛选属性和自定义授权属性执行,asp.net-mvc,fluent-nhibernate,ninject,Asp.net Mvc,Fluent Nhibernate,Ninject,我有一个控制器范围的过滤器属性,如下所示: public class LoggingNHibernateSessionAttribute : ActionFilterAttribute { private readonly IActionExceptionHandler _actionExceptionHandler; private readonly IActionTransactionHelper _actionTransactionHelper;

我有一个控制器范围的过滤器属性,如下所示:

public class LoggingNHibernateSessionAttribute : ActionFilterAttribute
    {

        private readonly IActionExceptionHandler _actionExceptionHandler;
        private readonly IActionTransactionHelper _actionTransactionHelper;

        public LoggingNHibernateSessionAttribute()
            : this(
            WebContainerManager.Get<IActionExceptionHandler>(),
            WebContainerManager.Get<IActionTransactionHelper>())
        {
        }

        public LoggingNHibernateSessionAttribute(
            IActionExceptionHandler actionExceptionHandler,
            IActionTransactionHelper actionTransactionHelper)
        {
            // _actionLogHelper = actionLogHelper;
            _actionExceptionHandler = actionExceptionHandler;
            _actionTransactionHelper = actionTransactionHelper;
        }

        public override void OnActionExecuting(ActionExecutingContext actionContext)
        {
            // _actionLogHelper.LogEntry(actionContext.ActionDescriptor);
            _actionTransactionHelper.BeginTransaction();
        }

        public override void OnActionExecuted(ActionExecutedContext actionExecutedContext)
        {
            _actionTransactionHelper.EndTransaction(actionExecutedContext);
            _actionTransactionHelper.CloseSession();
            //_actionExceptionHandler.HandleException(actionExecutedContext);
            //_actionLogHelper.LogExit(actionExecutedContext.ActionContext.ActionDescriptor);
        }


    }
我还有一个自定义授权属性:

 public class CustomAuthorizeAttribute : AuthorizeAttribute
    {

}
这是一种用法:

 [CustomAuthorize()]
        public ActionResult Index(
            int page = 1, int rows = 10)
        {
}
第一次执行该操作时,LoggingHibernateSessionAttribute中的方法会运行,但当我刷新页面时,该操作仍在执行,此时仅CustomAuthorize中的方法会执行,LoggingHibernateSessionAttribute中的方法不会执行

你能帮我吗

 [CustomAuthorize()]
        public ActionResult Index(
            int page = 1, int rows = 10)
        {
}