Beispiel #1
0
        private RouteAttribute GetRouteAttribute(HttpActionDescriptor descriptor)
        {
            var methodInfo = descriptor.GetType().GetProperty(nameof(MethodInfo))?.GetValue(descriptor) as MethodInfo;

            return(methodInfo?.GetCustomAttributes(true).OfType <RouteAttribute>().FirstOrDefault()
                   ?? _dummyRouteAttributeInCaseNotFound);
        }
 public override Task <object> ExecuteAsync(HttpControllerContext controllerContext, IDictionary <string, object> arguments)
 {
     return(_traceWriter.TraceBeginEndAsync <object>(
                controllerContext.Request,
                TraceCategories.ActionCategory,
                TraceLevel.Info,
                _innerDescriptor.GetType().Name,
                ExecuteMethodName,
                beginTrace: (tr) =>
     {
         tr.Message = Error.Format(SRResources.TraceInvokingAction,
                                   FormattingUtilities.ActionInvokeToString(ActionName, arguments));
     },
                execute: () =>
     {
         return _innerDescriptor.ExecuteAsync(controllerContext, arguments);
     },
                endTrace: (tr, value) =>
     {
         tr.Message = Error.Format(SRResources.TraceActionReturnValue,
                                   FormattingUtilities.ValueToString(value, CultureInfo.CurrentCulture));
     },
                errorTrace: null));
 }