Beispiel #1
0
        protected override IController GetControllerInstance(
            RequestContext requestContext, Type controllerType)
        {
            try
            {
                if (controllerType == null)
                {
                    return(base.GetControllerInstance(requestContext, null));
                }

                var controller = funqBuilder.CreateInstance(controllerType) as IController;

                return(controller ?? base.GetControllerInstance(requestContext, controllerType));
            }
            catch (HttpException ex)
            {
                if (ex.GetHttpCode() == 404)
                {
                    try
                    {
                        if (ServiceStackController.CatchAllController != null)
                        {
                            return(ServiceStackController.CatchAllController(requestContext));
                        }
                    }
                    catch { } //ignore not found CatchAllController
                }
                throw;
            }
        }
Beispiel #2
0
 public static ValueTask <IRedisClientAsync> GetRedisAsync(this ServiceStackController controller) =>
 controller.ServiceStackProvider.GetRedisAsync();
Beispiel #3
0
 public static T ResolveService <T>(this ServiceStackController controller) => controller.ServiceStackProvider.ResolveService <T>();
Beispiel #4
0
 public static object ForwardRequestToServiceStack(this ServiceStackController controller, IRequest request = null)
 => controller.ServiceStackProvider.Execute(request ?? controller.ServiceStackProvider.Request);