public ActionInvoker(
            //ITypeActivatorCache typeActivatorCache,
            ObjectMethodExecutorCache cache /*,
                                             * IEnumerable<IControllerPropertyActivator> propertyActivators*/)
        {
            //_typeActivatorCache = typeActivatorCache ?? throw new ArgumentNullException(nameof(typeActivatorCache));
            //_propertyActivators = propertyActivators.ToArray();
            _cache = cache;


            var assemblies = DefaultAssemblyPartDiscoveryProvider.DiscoverAssemblyParts(Globals.EntryPointAssembly);

            _allControllers = new List <TypeInfo>();
            foreach (var assembly in assemblies)
            {
                var controllerTypes = assembly.DefinedTypes.Where(t => IsController(t)).ToList();

                if (controllerTypes.Count > 0)
                {
                    _allControllers.AddRange(controllerTypes);
                }
            }
        }