Ejemplo n.º 1
0
 /// <summary>
 /// 依据当前Http路由请求和处理请求的控制器信息获取操作方法信息
 /// </summary>
 /// <param name="context"></param>
 /// <returns></returns>
 public virtual ActionMethodInfo GetActionMethod(ControllerContext context)
 {
     if (context == null)
     {
         throw new ArgumentNullException("context");
     }
     else
     {
         var newSelector = new NonParameterActionMethodSelector(context);
         var action = newSelector.GetActionMethod(ActionFlags);
         if (action != null && action.Attributes != null)
         {
             foreach (var attr in action.Attributes)
             {
                 if (!attr.Validate(context.HttpContext))
                 {
                     var eventArgs =
                         new ActionAttributeValidateFailedEventArgs(context.Controller.Name, context.ActionName, attr);
                     this._ActionAttributeValidateFailed(context.Controller, eventArgs);
                     break;
                 }
             }
         }
         return action;
     }
 }
Ejemplo n.º 2
0
 /// <summary>
 /// 依据当前Http路由请求和处理请求的控制器信息获取操作方法信息
 /// </summary>
 /// <param name="context"></param>
 /// <returns></returns>
 public virtual ActionMethodInfo GetActionMethod(ControllerContext context)
 {
     if (context == null)
     {
         throw new ArgumentNullException("context");
     }
     else
     {
         var newSelector = new NonParameterActionMethodSelector(context);
         var action      = newSelector.GetActionMethod(ActionFlags);
         if (action != null && action.Attributes != null)
         {
             foreach (var attr in action.Attributes)
             {
                 if (!attr.Validate(context.HttpContext))
                 {
                     var eventArgs =
                         new ActionAttributeValidateFailedEventArgs(context.Controller.Name, context.ActionName, attr);
                     this._ActionAttributeValidateFailed(context.Controller, eventArgs);
                     break;
                 }
             }
         }
         return(action);
     }
 }