Beispiel #1
0
        /// <summary>
        /// Validates the request
        /// </summary>
        /// <param name="filterContext">The Action Executing Filter Context</param>
        public sealed override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            try
            {
                IValidateResult result = ValidateRequest(filterContext);

                OnValidated(filterContext, result);

                foreach (var value in filterContext.ActionParameters.Values)
                {
                    if (value is SessionValidationModel)
                    {
                        (value as SessionValidationModel).ValidateResult = result;
                    }
                }
            }
            catch (ExpiredValidationException ex)
            {
                OnException(filterContext, ex);

                SessionValidationErrorModel model = new SessionValidationErrorModel(ex.Queue, ex, ex.KnownUser.OriginalUrl);
                filterContext.Result = new ViewResult()
                {
                    ViewName = this.ErrorView,
                    ViewData = new ViewDataDictionary(model)
                };
            }
            catch (KnownUserValidationException ex)
            {
                OnException(filterContext, ex);

                SessionValidationErrorModel model = new SessionValidationErrorModel(
                    ex.Queue,
                    ex,
                    (ex.InnerException as KnownUserException).OriginalUrl);

                filterContext.Result = new ViewResult()
                {
                    ViewName = this.ErrorView,
                    ViewData = new ViewDataDictionary(model)
                };
            }
        }
        /// <summary>
        /// Validates the request
        /// </summary>
        /// <param name="filterContext">The Action Executing Filter Context</param>
        public sealed override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            try
            {
                IValidateResult result = ValidateRequest(filterContext);

                OnValidated(filterContext, result);

                foreach (var value in filterContext.ActionParameters.Values)
                {
                    if (value is SessionValidationModel)
                        (value as SessionValidationModel).ValidateResult = result;
                }
            }
            catch (ExpiredValidationException ex)
            {
                OnException(filterContext, ex);

                SessionValidationErrorModel model = new SessionValidationErrorModel(ex.Queue, ex, ex.KnownUser.OriginalUrl);
                filterContext.Result = new ViewResult()
                {
                    ViewName = this.ErrorView,
                    ViewData = new ViewDataDictionary(model)
                };
            }
            catch (KnownUserValidationException ex)
            {
                OnException(filterContext, ex);

                SessionValidationErrorModel model = new SessionValidationErrorModel(
                    ex.Queue, 
                    ex, 
                    (ex.InnerException as KnownUserException).OriginalUrl);

                filterContext.Result = new ViewResult()
                {
                    ViewName = this.ErrorView,
                    ViewData = new ViewDataDictionary(model)
                };
            }
        }