private ControllerActionDescriptorProvider GetActionDescriptorProvider() { var controllerTypes = typeof(DefaultActionSelectorTests) .GetNestedTypes(BindingFlags.NonPublic) .Select(t => t.GetTypeInfo()) .ToList(); var controllerTypeProvider = new FixedSetControllerTypeProvider(controllerTypes); var modelBuilder = new DefaultControllerModelBuilder(new DefaultActionModelBuilder(null), null); return(new ControllerActionDescriptorProvider( controllerTypeProvider, modelBuilder, new TestGlobalFilterProvider(), new MockMvcOptionsAccessor())); }
/// <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 GetActionDescriptorProvider() { var controllerTypes = typeof(DefaultActionSelectorTests) .GetNestedTypes(BindingFlags.NonPublic) .Select(t => t.GetTypeInfo()) .ToList(); var options = new MockMvcOptionsAccessor(); var controllerTypeProvider = new FixedSetControllerTypeProvider(controllerTypes); var modelProvider = new DefaultApplicationModelProvider(options); var provider = new ControllerActionDescriptorProvider( controllerTypeProvider, new[] { modelProvider }, options); return(provider); }
private ControllerActionDescriptorProvider GetActionDescriptorProvider() { var controllerTypes = typeof(DefaultActionSelectorTests) .GetNestedTypes(BindingFlags.NonPublic) .Select(t => t.GetTypeInfo()) .ToList(); var controllerTypeProvider = new FixedSetControllerTypeProvider(controllerTypes); var modelBuilder = new DefaultControllerModelBuilder(new DefaultActionModelBuilder(null), NullLoggerFactory.Instance, null); return new ControllerActionDescriptorProvider( controllerTypeProvider, modelBuilder, new TestGlobalFilterProvider(), new MockMvcOptionsAccessor(), new NullLoggerFactory()); }
private ControllerActionDescriptorProvider GetActionDescriptorProvider() { var controllerTypes = typeof(DefaultActionSelectorTests) .GetNestedTypes(BindingFlags.NonPublic) .Select(t => t.GetTypeInfo()) .ToList(); var options = new MockMvcOptionsAccessor(); var controllerTypeProvider = new FixedSetControllerTypeProvider(controllerTypes); var modelProvider = new DefaultApplicationModelProvider(options); var provider = new ControllerActionDescriptorProvider( controllerTypeProvider, new[] { modelProvider }, options); return provider; }