Example #1
0
        public virtual void OnExecuting(object context)
        {
            var realContext = context as ActionExecutingContext;

            RequestTime = DateTime.Now;

            var paramDic = realContext.ActionArguments.ToDictionary(k => k.Key, v => v.Value);

            Entrance   = realContext.RouteData.Values["controller"].ToString();
            Action     = realContext.RouteData.Values["action"].ToString();
            Header     = realContext.HttpContext.Request.Headers.ToDictionary(k => k.Key, v => v.Value as object);
            ReqParams  = realContext.HttpContext.Request.GetRequestValue().Result;
            FuncParams = paramDic;

            #region 参数验证

            //微软的参数验证
            if (
                1 == 1 &&
                paramDic != null &&
                paramDic.Count() != 0 &&
                paramDic.Values.Select(o => o.IsExtendType <IDTO_Input>()).Any(o => o) &&
                realContext.ModelState.IsValid == false
                )
            {
                var errorMsg = realContext.ModelState.GetValidationSummary();
                throw new Exception_VerifyError(errorMsg);
            }

            //自定义的参数验证
            FuncParams.Verify();

            #endregion
        }
Example #2
0
 public ParamsAccessor(FuncParams <A, T> selector)
 {
     if (selector == null)
     {
         throw new ArgumentNullException("selector");
     }
     //
     _selector = selector;
 }
Example #3
0
 public ParamsAccessor(FuncParams <A, T> selector, ActionParams <A, T> assigner)
 {
     if (selector == null && assigner == null)
     {
         throw new ArgumentException("Selector or assigner must specified");
     }
     //
     _selector = selector;
     _assigner = assigner;
 }
Example #4
0
 // prepend [s,b] to the set of nextparams
 public FuncParams(string ptype, string name, bool compliant, FuncParams fp)
 {
     paramString = ptype + " " + name + ", " + fp.paramString;
     if (!compliant || !fp.isCLSCompliant)
     {
         isCLSCompliant = false;
     }
     else
     {
         isCLSCompliant = true;
     }
 }
        public virtual void OnExecuting(object context)
        {
            MS.ServiceContext realContext = context as MS.ServiceContext;

            RequestTime = DateTime.Now;

            var paramArray = realContext.RestoreParams();

            Entrance   = realContext.ServiceType.Name;
            Action     = realContext.MethodInfo.Name;
            Header     = realContext.CallContext.RequestHeaders.AsEnumerable().ToList().ToDictionary(k => k.Key, v => v.Value as object);
            ReqParams  = paramArray;
            FuncParams = paramArray;

            #region 参数验证

            //自定义的参数验证
            FuncParams.Verify();

            #endregion
        }
Example #6
0
            internal void Bind(Type type)
            {
                MethodInfo tmx = type.GetMethod(info.MethodName);

                function = (FuncParams)Delegate.CreateDelegate(typeof(FuncParams), tmx);
            }
Example #7
0
 internal void Bind(Type type)
 {
     MethodInfo tmx = type.GetMethod(info.MethodName);
     function = (FuncParams)Delegate.CreateDelegate(typeof(FuncParams), tmx);
 }
Example #8
0
 void ReturnToOriginalPosition(FuncParams param)
 {
     param.obj.SetActive(false);
     param.obj.transform.position = param.position;
 }