public static void AddControllersAsServices(IServiceCollection services, IEnumerable<Type> types) { var controllerTypeProvider = new FixedSetControllerTypeProvider(); foreach (var type in types) { services.TryAddTransient(type, type); controllerTypeProvider.ControllerTypes.Add(type.GetTypeInfo()); } services.Replace(ServiceDescriptor.Transient<IControllerActivator, ServiceBasedControllerActivator>()); services.Replace(ServiceDescriptor.Instance<IControllerTypeProvider>(controllerTypeProvider)); }
public static void AddControllersAsServices(IServiceCollection services, IEnumerable <Type> types) { var controllerTypeProvider = new FixedSetControllerTypeProvider(); foreach (var type in types) { services.TryAddTransient(type, type); controllerTypeProvider.ControllerTypes.Add(type.GetTypeInfo()); } services.Replace(ServiceDescriptor.Transient <IControllerActivator, ServiceBasedControllerActivator>()); services.Replace(ServiceDescriptor.Instance <IControllerTypeProvider>(controllerTypeProvider)); }
private ControllerActionDescriptorProvider GetProvider( ILoggerFactory loggerFactory, params TypeInfo[] controllerTypeInfo) { var controllerTypeProvider = new FixedSetControllerTypeProvider(controllerTypeInfo); var modelBuilder = new DefaultControllerModelBuilder(new DefaultActionModelBuilder(null), loggerFactory, null); var provider = new ControllerActionDescriptorProvider( controllerTypeProvider, modelBuilder, new TestGlobalFilterProvider(), new MockMvcOptionsAccessor(), loggerFactory); return(provider); }
/// <summary> /// Register the specified <paramref name="controllerTypes"/> as services and as a source for controller /// discovery. /// </summary> /// <param name="services">The <see cref="IServiceCollection"/>.</param> /// <param name="controllerTypes">A sequence of controller <see cref="Type"/>s to register in the /// <paramref name="services"/> and used for controller discovery.</param> /// <returns>The <see cref="IServiceCollection"/>.</returns> public static IServiceCollection WithControllersAsServices( [NotNull] this IServiceCollection services, [NotNull] IEnumerable <Type> controllerTypes) { var controllerTypeProvider = new FixedSetControllerTypeProvider(); foreach (var type in controllerTypes) { services.TryAdd(ServiceDescriptor.Transient(type, type)); controllerTypeProvider.ControllerTypes.Add(type.GetTypeInfo()); } services.Replace(ServiceDescriptor.Transient <IControllerActivator, ServiceBasedControllerActivator>()); services.Replace(ServiceDescriptor.Instance <IControllerTypeProvider>(controllerTypeProvider)); return(services); }
private ControllerActionDescriptorProvider GetProvider( ILoggerFactory loggerFactory, params TypeInfo[] controllerTypeInfo) { var controllerTypeProvider = new FixedSetControllerTypeProvider(controllerTypeInfo); var modelBuilder = new DefaultControllerModelBuilder(new DefaultActionModelBuilder(null), loggerFactory, null); var provider = new ControllerActionDescriptorProvider( controllerTypeProvider, modelBuilder, new TestGlobalFilterProvider(), new MockMvcOptionsAccessor(), loggerFactory); return provider; }
private ControllerActionDescriptorProvider GetProvider( TypeInfo controllerTypeInfo, IApplicationModelConvention convention) { var options = new MockMvcOptionsAccessor(); options.Options.Conventions.Add(convention); var controllerTypeProvider = new FixedSetControllerTypeProvider(new[] { controllerTypeInfo }); var modelProvider = new DefaultApplicationModelProvider(options); var provider = new ControllerActionDescriptorProvider( controllerTypeProvider, new[] { modelProvider }, options); return provider; }
private ControllerActionDescriptorProvider GetProvider( params TypeInfo[] controllerTypeInfos) { var options = new MockMvcOptionsAccessor(); var controllerTypeProvider = new FixedSetControllerTypeProvider(controllerTypeInfos); var modelProvider = new DefaultApplicationModelProvider(options); var provider = new ControllerActionDescriptorProvider( controllerTypeProvider, new[] { modelProvider }, options); return provider; }
private ControllerActionDescriptorProvider GetProvider( TypeInfo controllerTypeInfo, IEnumerable<IFilterMetadata> filters = null) { var options = new MockMvcOptionsAccessor(); if (filters != null) { foreach (var filter in filters) { options.Options.Filters.Add(filter); } } var controllerTypeProvider = new FixedSetControllerTypeProvider(new[] { controllerTypeInfo }); var modelProvider = new DefaultApplicationModelProvider(options); var provider = new ControllerActionDescriptorProvider( controllerTypeProvider, new[] { modelProvider }, options); return provider; }
private IEnumerable<ActionDescriptor> GetDescriptors(params TypeInfo[] controllerTypeInfos) { var controllerTypeProvider = new FixedSetControllerTypeProvider(controllerTypeInfos); var modelBuilder = new DefaultControllerModelBuilder(new DefaultActionModelBuilder(null), NullLoggerFactory.Instance, null); var provider = new ControllerActionDescriptorProvider( controllerTypeProvider, modelBuilder, new TestGlobalFilterProvider(), new MockMvcOptionsAccessor(), new NullLoggerFactory()); return provider.GetDescriptors(); }
private ControllerActionDescriptorProvider GetProvider( TypeInfo type, IApplicationModelConvention convention) { var controllerTypeProvider = new FixedSetControllerTypeProvider(new[] { type }); var modelBuilder = new DefaultControllerModelBuilder(new DefaultActionModelBuilder(null), NullLoggerFactory.Instance, null); var options = new MockMvcOptionsAccessor(); options.Options.Conventions.Add(convention); return new ControllerActionDescriptorProvider( controllerTypeProvider, modelBuilder, new TestGlobalFilterProvider(), options, new NullLoggerFactory()); }
private ControllerActionDescriptorProvider GetProvider( TypeInfo controllerTypeInfo, IEnumerable<IFilter> filters = null) { var controllerTypeProvider = new FixedSetControllerTypeProvider(new[] { controllerTypeInfo }); var controllerModelBuilder = new DefaultControllerModelBuilder(new DefaultActionModelBuilder(null), NullLoggerFactory.Instance, null); var provider = new ControllerActionDescriptorProvider( controllerTypeProvider, controllerModelBuilder, new TestGlobalFilterProvider(filters), new MockMvcOptionsAccessor(), new NullLoggerFactory()); return provider; }