示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
 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()));
 }