public static IMvcCoreBuilder AddWebApiCore(this IServiceCollection services, params Assembly[] controllersAssemblies) { if (services == null) { throw new ArgumentNullException(nameof(services)); } if (controllersAssemblies == null) { throw new ArgumentNullException(nameof(controllersAssemblies)); } controllersAssemblies = controllersAssemblies.Any() ? controllersAssemblies : new[] { Assembly.GetCallingAssembly() }; IMvcCoreBuilder builder = services.AddMvcCore() .AddJsonFormatters(); controllersAssemblies.ToList().ForEach(asm => { builder.AddApplicationPart(asm); }); builder.AddControllersAsServices(); return(builder); }
public static IMvcCoreBuilder AddWebApiCore(this IServiceCollection services, params Assembly[] controllersAssemblies) { if (services == null) { throw new ArgumentNullException(nameof(services)); } if (controllersAssemblies == null) { throw new ArgumentNullException(nameof(controllersAssemblies)); } controllersAssemblies = AssemblyContainer.Current.AssembliesWithDefaultAssemblies(controllersAssemblies); IMvcCoreBuilder builder = services.AddMvcCore() .AddJsonFormatters(); controllersAssemblies.ToList().ForEach(asm => { builder.AddApplicationPart(asm); }); builder.AddControllersAsServices(); return(builder); }
public void ConfigureMvc(IMvcCoreBuilder builder) { builder .AddControllersAsServices() .AddApiExplorer() .AddJsonFormatters(o => o.Initialize()) .AddJsonOptions(o => o.SerializerSettings.Initialize()) .ConfigureApplicationPartManager(part => _providers.Each(part.FeatureProviders.Add)) .ConfigureApplicationPartManager(part => _parts.Each(part.ApplicationParts.Add)) .Services.AddSingleton <IConfigureOptions <IRouteBuilder>, RouteBuilderConfigureOptions>(); }
/// <summary> /// Registers controller types from the specified <paramref name="controllerAssemblies"/> as services and as a source /// for controller discovery. /// </summary> /// <param name="builder">The <see cref="IMvcCoreBuilder"/>.</param> /// <param name="controllerAssemblies">Assemblies to scan.</param> /// <returns>The <see cref="IMvcCoreBuilder"/>.</returns> public static IMvcCoreBuilder AddControllersAsServices( this IMvcCoreBuilder builder, params Assembly[] controllerAssemblies) { return(builder.AddControllersAsServices(controllerAssemblies.AsEnumerable())); }