/// <summary> /// Initializes a new instance of <see cref="DefaultControllerFactory"/>. /// </summary> /// <param name="controllerActivator"> /// <see cref="IControllerActivator"/> used to create controller instances. /// </param> /// <param name="propertyActivators"> /// A set of <see cref="IControllerPropertyActivator"/> instances used to initialize controller /// properties. /// </param> public DefaultControllerFactory( IControllerActivator controllerActivator, IEnumerable<IControllerPropertyActivator> propertyActivators) { _controllerActivator = controllerActivator; _propertyActivators = propertyActivators.ToArray(); }
/// <summary> /// Initializes a new instance of <see cref="DefaultControllerFactory"/>. /// </summary> /// <param name="controllerActivator"><see cref="IControllerActivator"/> used to create controller /// instances.</param> public DefaultControllerFactory(IControllerActivator controllerActivator) { _controllerActivator = controllerActivator; _valueAccessorLookup = CreateValueAccessorLookup(); _activateActions = new ConcurrentDictionary<Type, PropertyActivator<ActionContext>[]>(); _getPropertiesToActivate = GetPropertiesToActivate; }
internal DefaultControllerFactory(IControllerActivator controllerActivator, IResolver<IControllerActivator> activatorResolver, IDependencyResolver dependencyResolver) { if (controllerActivator != null) this._controllerActivator = controllerActivator; else this._activatorResolver = activatorResolver ?? (IResolver<IControllerActivator>) new SingleServiceResolver<IControllerActivator>((Func<IControllerActivator>) (() => (IControllerActivator) null), (IControllerActivator) new DefaultControllerFactory.DefaultControllerActivator(dependencyResolver), "DefaultControllerFactory constructor"); }
public DefaultControllerFactory(IServiceProvider serviceProvider, ITypeActivator typeActivator, IControllerActivator controllerActivator) { _serviceProvider = serviceProvider; _typeActivator = typeActivator; _controllerActivator = controllerActivator; }
internal DefaultControllerFactory(IControllerActivator controllerActivator, IResolver<IControllerActivator> activatorResolver, IDependencyResolver dependencyResolver) { if (controllerActivator != null) { _controllerActivator = controllerActivator; } else { _activatorResolver = activatorResolver ?? new SingleServiceResolver<IControllerActivator>( () => null, new DefaultControllerActivator(dependencyResolver), "DefaultControllerFactory contstructor" ); } }
internal DefaultControllerFactory(IControllerActivator controllerActivator, IResolver <IControllerActivator> activatorResolver, IDependencyResolver dependencyResolver) { if (controllerActivator != null) { _controllerActivator = controllerActivator; } else { _activatorResolver = activatorResolver ?? new SingleServiceResolver <IControllerActivator>( () => null, new DefaultControllerActivator(dependencyResolver), "DefaultControllerFactory constructor"); } }
public DelegateMapper(IEnumerable <IHttpControllerDescriptionBuilder> httpControllerDescriptionBuilders, IControllerActivator controllerActivator) { if (httpControllerDescriptionBuilders == null) { throw new ArgumentNullException("httpControllerDescriptionBuilders"); } if (controllerActivator == null) { throw new ArgumentNullException("controllerActivator"); } _controllerActivator = controllerActivator; _controllerDescriptors = new Lazy <IEnumerable <ControllerInfo> >(() => httpControllerDescriptionBuilders.Select(item => item.BuildDescriptor())); }
/// <summary> /// Initializes a new instance of <see cref="ControllerActivatorProvider"/>. /// </summary> /// <param name="controllerActivator">A <see cref="IControllerActivator"/> which is delegated to when not the default implementation.</param> public ControllerActivatorProvider(IControllerActivator controllerActivator) { if (controllerActivator == null) { throw new ArgumentNullException(nameof(controllerActivator)); } // Compat: Delegate to controllerActivator if it's not the default implementation. if (controllerActivator.GetType() != typeof(DefaultControllerActivator)) { _controllerActivatorCreate = controllerActivator.Create; _controllerActivatorRelease = controllerActivator.Release; _controllerActivatorReleaseAsync = controllerActivator.ReleaseAsync; } }
public SpiderControllerFactory(IControllerActivator activator) { if (activator != null) { _activator = activator; } else { activator = new SpiderControllerActivator(); } controllerTypes = new List <Type>(); foreach (Assembly assembly in AppDomain.CurrentDomain.GetAssemblies()) { controllerTypes.AddRange(assembly.GetTypes().Where(type => typeof(IController).IsAssignableFrom(type) && !type.IsAbstract)); } }
public TController Create <TController>(IServiceProvider serviceProvider) where TController : ControllerBase { IControllerActivator controllerActivator = serviceProvider .GetRequiredService <IControllerActivator>(); object typeActivatorCache = controllerActivator.GetType() .GetField(TypeActivatorCacheFieldName, BindingFlags.Instance | BindingFlags.NonPublic) ! .GetValue(controllerActivator) !; return((typeActivatorCache.GetType().GetMethod(CreateInstanceMethodName) ! .MakeGenericMethod(typeof(TController)).Invoke(typeActivatorCache, new object[] { serviceProvider, typeof(TController) }) as TController) !); }
/// <summary> /// Initializes a new instance of <see cref="DefaultControllerFactory"/>. /// </summary> /// <param name="controllerActivator"> /// <see cref="IControllerActivator"/> used to create controller instances. /// </param> /// <param name="propertyActivators"> /// A set of <see cref="IControllerPropertyActivator"/> instances used to initialize controller /// properties. /// </param> public DefaultControllerFactory( IControllerActivator controllerActivator, IEnumerable <IControllerPropertyActivator> propertyActivators) { if (controllerActivator == null) { throw new ArgumentNullException(nameof(controllerActivator)); } if (propertyActivators == null) { throw new ArgumentNullException(nameof(propertyActivators)); } _controllerActivator = controllerActivator; _propertyActivators = propertyActivators.ToArray(); }
/// <summary> /// Initializes a new instance of <see cref="DefaultControllerFactory"/>. /// </summary> /// <param name="controllerActivator"> /// <see cref="IControllerActivator"/> used to create controller instances. /// </param> /// <param name="propertyActivators"> /// A set of <see cref="IControllerPropertyActivator"/> instances used to initialize controller /// properties. /// </param> public DefaultControllerFactory( IControllerActivator controllerActivator, IEnumerable<IControllerPropertyActivator> propertyActivators) { if (controllerActivator == null) { throw new ArgumentNullException(nameof(controllerActivator)); } if (propertyActivators == null) { throw new ArgumentNullException(nameof(propertyActivators)); } _controllerActivator = controllerActivator; _propertyActivators = propertyActivators.ToArray(); }
/// <summary> /// Creates the specified request context. /// </summary> /// <param name="requestContext">The request context.</param> /// <param name="controllerType">Type of the controller.</param> /// <returns></returns> public override IController Create(RequestContext requestContext, Type controllerType) { if (controllerType == null) { return(null); } Type activatorType = ControllerActivatorRegistry.Matching(controllerType); IControllerActivator activator = activatorType != null ? (IControllerActivator)Container.GetServices(activatorType) : null; Controller controller = activator != null? activator.Create(requestContext, controllerType) as Controller: (GetControllerInstance(controllerType) ?? Activator.CreateInstance(controllerType)) as Controller; if (controller != null) { Type actionInvokerType; if (ActionInvokerRegistry.IsRegistered(controllerType)) { actionInvokerType = ActionInvokerRegistry.Matching(controllerType); } else { actionInvokerType = controller is IAsyncController ? KnownTypes.AsyncActionInvokerType : KnownTypes.SyncActionInvokerType; } IActionInvoker actionInvoker = Container.GetService(actionInvokerType) as IActionInvoker; if (actionInvoker != null) { controller.ActionInvoker = actionInvoker; } } return(controller); }
/// <summary> /// Initializes a new instance of <see cref="DefaultControllerFactory"/>. /// </summary> /// <param name="controllerActivator"> /// <see cref="IControllerActivator"/> used to create controller instances. /// </param> /// <param name="propertyActivators"> /// A set of <see cref="IControllerPropertyActivator"/> instances used to initialize controller /// properties. /// </param> public DefaultControllerFactory( IControllerActivator controllerActivator, #pragma warning disable PUB0001 // Pubternal type in public API IEnumerable <IControllerPropertyActivator> propertyActivators #pragma warning restore PUB0001 ) { if (controllerActivator == null) { throw new ArgumentNullException(nameof(controllerActivator)); } if (propertyActivators == null) { throw new ArgumentNullException(nameof(propertyActivators)); } _controllerActivator = controllerActivator; _propertyActivators = propertyActivators.ToArray(); }
public DefaultControllerFactory(IControllerActivator controllerActivator) : this(controllerActivator, null, null) { }
public JumisPermissionControllerFactory(IControllerActivator controllerActivator, IEnumerable <IControllerPropertyActivator> propertyActivators) : base(controllerActivator, propertyActivators) { }
internal StardustControllerFactory(IControllerActivator activator) : base(activator) { }
public RouteHelper(IControllerActivator controllerActivator, IActionActivator actionActivator) { _controllerActivator = controllerActivator; _actionActivator = actionActivator; _actionDictionary = new Dictionary <string, Dictionary <string, List <ActionEntity> > >(); }
public BasedOnDefaultControllerFactory(IControllerActivator controllerActivator) : base(controllerActivator) { }
/// <summary> /// Initializes a new instance of the <see cref="T:System.Web.Mvc.DefaultControllerFactory" /> class using a controller activator. /// </summary> /// <param name="controllerActivator"> An object that implements the controller activator interface. </param> /// <param name="logger"> The logger. </param> /// <param name="container"> The container. </param> public DexterControllerFactory(IControllerActivator controllerActivator, ILog logger, IDexterContainer container) : base(controllerActivator) { this.logger = logger; this.container = container; }
public CompositionControllerFactory(IControllerActivator activator) : this(activator, DependencyResolver.Current as ICompositionContainerProvider) { }
public DefaultControllerFactory(IControllerActivator controllerActivator) : this(controllerActivator, (IResolver<IControllerActivator>) null, (IDependencyResolver) null) { }
public static TController Create <TController>(IControllerActivator activator, IServiceProvider serviceProvider) where TController : Controller { return(Create(typeof(TController), activator, serviceProvider) as TController); }
/// <summary> /// 初始化 <see cref="ControllerFactory"/> 类的新实例。 /// </summary> /// <param name="activator">控制器的创建者。</param> public ControllerFactory(IControllerActivator activator) : base(activator) { }
public DefaultActionBuilder(IRouteResolver actionResolver, IControllerActivator controllerActivator) { _actionResolver = actionResolver; _controllerActivator = controllerActivator; }
public DefaultControllerFactory(IControllerActivator activator) { Precondition.Require(activator, () => Error.ArgumentNull("activator")); _activator = activator; }
public DynamicControllerFactory( IControllerActivator controllerActivator, IEnumerable <IControllerPropertyActivator> propertyActivators) : base(controllerActivator, propertyActivators) { }
public CompositionControllerFactory(IControllerActivator activator, ICompositionContainerProvider compositionContainerProvider) : base(activator) { this.compositionContainerProvider = compositionContainerProvider; }
public WebMapControllerFactory(IControllerActivator controllerActivator) : base(controllerActivator) { }
public CronusControllerFactory(IControllerActivator controllerActivator, IEnumerable <IControllerPropertyActivator> propertyActivators, CronusTenantOptions options) { defaultControllerFactory = new DefaultControllerFactory(controllerActivator, propertyActivators); this.options = options; }
public PropertyInjectionControllerFactory(IControllerActivator controllerActivator, IPropertyInjector propertyInjector) { _controllerActivator = controllerActivator; _propertyInjector = propertyInjector; }
/// <summary> /// Initializes a new instance of the <see cref="UnityControllerFactory"/> class. /// </summary> /// <param name="container">The container.</param> /// <param name="controllerActivator">The controller activator.</param> public UnityControllerFactory(IUnityContainer container, IControllerActivator controllerActivator) : base(controllerActivator) { ////Guard.ArgumentNotNull(container, "container"); _container = new PerRequestUnityContainer(container); }
public ControllerActivator(IControllerActivator controllerActivator) { _controllerActivator = controllerActivator ?? throw new ArgumentNullException(nameof(controllerActivator)); }
public DotNurseControllerFactory(IControllerActivator controllerActivator, IAttributeInjector attributeInjector) { this.controllerActivator = controllerActivator; this.attributeInjector = attributeInjector; }
private static DefaultControllerFactory CreateControllerFactory(IControllerActivator controllerActivator = null) { var activatorMock = new Mock<IControllerActivator>(); controllerActivator = controllerActivator ?? activatorMock.Object; var propertyActivators = new IControllerPropertyActivator[] { new DefaultControllerPropertyActivator(), }; return new DefaultControllerFactory(controllerActivator, propertyActivators); }