コード例 #1
0
        public static object RunAction <TService, TRequest>(
            this TService service, TRequest request, Func <TService, TRequest, object> invokeAction,
            IRequestContext requestContext = null)
            where TService : IService
        {
            var actionCtx = new ActionContext {
                RequestFilters  = new IHasRequestFilter[0],
                ResponseFilters = new IHasResponseFilter[0],
                RequestType     = service.GetType(),
                ServiceAction   = (instance, req) => invokeAction(service, request)
            };

            requestContext = requestContext ?? new MockRequestContext();
            var runner   = new ServiceRunner <TRequest>(EndpointHost.AppHost, actionCtx);
            var response = runner.Execute(requestContext, service, request);

            return(response);
        }