Adding params overloads for AddControllersAsServices
- Moved null checks - Tweaked XML docs
This commit is contained in:
parent
04453a2b4f
commit
6737a1f243
|
|
@ -7,6 +7,7 @@ using System.Reflection;
|
|||
using Microsoft.AspNet.Mvc;
|
||||
using Microsoft.AspNet.Mvc.Formatters;
|
||||
using Microsoft.AspNet.Mvc.Internal;
|
||||
using System.Linq;
|
||||
|
||||
namespace Microsoft.Extensions.DependencyInjection
|
||||
{
|
||||
|
|
@ -62,8 +63,21 @@ namespace Microsoft.Extensions.DependencyInjection
|
|||
/// discovery.
|
||||
/// </summary>
|
||||
/// <param name="builder">The <see cref="IMvcBuilder"/>.</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>
|
||||
/// <param name="controllerTypes">A sequence of controller <see cref="Type"/>s to register.</param>
|
||||
/// <returns>The <see cref="IMvcBuilder"/>.</returns>
|
||||
public static IMvcBuilder AddControllersAsServices(
|
||||
this IMvcBuilder builder,
|
||||
params Type[] controllerTypes)
|
||||
{
|
||||
return builder.AddControllersAsServices(controllerTypes.AsEnumerable());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Register the specified <paramref name="controllerTypes"/> as services and as a source for controller
|
||||
/// discovery.
|
||||
/// </summary>
|
||||
/// <param name="builder">The <see cref="IMvcBuilder"/>.</param>
|
||||
/// <param name="controllerTypes">A sequence of controller <see cref="Type"/>s to register.</param>
|
||||
/// <returns>The <see cref="IMvcBuilder"/>.</returns>
|
||||
public static IMvcBuilder AddControllersAsServices(
|
||||
this IMvcBuilder builder,
|
||||
|
|
@ -74,17 +88,26 @@ namespace Microsoft.Extensions.DependencyInjection
|
|||
throw new ArgumentNullException(nameof(builder));
|
||||
}
|
||||
|
||||
if (controllerTypes == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(controllerTypes));
|
||||
}
|
||||
|
||||
ControllersAsServices.AddControllersAsServices(builder.Services, controllerTypes);
|
||||
return builder;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Registers controller types from the specified <paramref name="assemblies"/> as services and as a source
|
||||
/// 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="IMvcBuilder"/>.</param>
|
||||
/// <param name="controllerAssemblies">Assemblies to scan.</param>
|
||||
/// <returns>The <see cref="IMvcBuilder"/>.</returns>
|
||||
public static IMvcBuilder AddControllersAsServices(
|
||||
this IMvcBuilder builder,
|
||||
params Assembly[] controllerAssemblies)
|
||||
{
|
||||
return builder.AddControllersAsServices(controllerAssemblies.AsEnumerable());
|
||||
}
|
||||
|
||||
/// <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="IMvcBuilder"/>.</param>
|
||||
|
|
@ -99,11 +122,6 @@ namespace Microsoft.Extensions.DependencyInjection
|
|||
throw new ArgumentNullException(nameof(builder));
|
||||
}
|
||||
|
||||
if (controllerAssemblies == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(controllerAssemblies));
|
||||
}
|
||||
|
||||
ControllersAsServices.AddControllersAsServices(builder.Services, controllerAssemblies);
|
||||
return builder;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ using Microsoft.AspNet.Mvc.ApplicationModels;
|
|||
using Microsoft.AspNet.Mvc.Formatters;
|
||||
using Microsoft.AspNet.Mvc.Internal;
|
||||
using Microsoft.Extensions.DependencyInjection.Extensions;
|
||||
using System.Linq;
|
||||
|
||||
namespace Microsoft.Extensions.DependencyInjection
|
||||
{
|
||||
|
|
@ -99,8 +100,21 @@ namespace Microsoft.Extensions.DependencyInjection
|
|||
/// discovery.
|
||||
/// </summary>
|
||||
/// <param name="builder">The <see cref="IMvcCoreBuilder"/>.</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>
|
||||
/// <param name="controllerTypes">A sequence of controller <see cref="Type"/>s to register.</param>
|
||||
/// <returns>The <see cref="IMvcCoreBuilder"/>.</returns>
|
||||
public static IMvcCoreBuilder AddControllersAsServices(
|
||||
this IMvcCoreBuilder builder,
|
||||
params Type[] controllerTypes)
|
||||
{
|
||||
return builder.AddControllersAsServices(controllerTypes.AsEnumerable());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Register the specified <paramref name="controllerTypes"/> as services and as a source for controller
|
||||
/// discovery.
|
||||
/// </summary>
|
||||
/// <param name="builder">The <see cref="IMvcCoreBuilder"/>.</param>
|
||||
/// <param name="controllerTypes">A sequence of controller <see cref="Type"/>s to register.</param>
|
||||
/// <returns>The <see cref="IMvcCoreBuilder"/>.</returns>
|
||||
public static IMvcCoreBuilder AddControllersAsServices(
|
||||
this IMvcCoreBuilder builder,
|
||||
|
|
@ -111,17 +125,26 @@ namespace Microsoft.Extensions.DependencyInjection
|
|||
throw new ArgumentNullException(nameof(builder));
|
||||
}
|
||||
|
||||
if (controllerTypes == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(controllerTypes));
|
||||
}
|
||||
|
||||
ControllersAsServices.AddControllersAsServices(builder.Services, controllerTypes);
|
||||
return builder;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Registers controller types from the specified <paramref name="assemblies"/> as services and as a source
|
||||
/// 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());
|
||||
}
|
||||
|
||||
/// <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>
|
||||
|
|
@ -136,11 +159,6 @@ namespace Microsoft.Extensions.DependencyInjection
|
|||
throw new ArgumentNullException(nameof(builder));
|
||||
}
|
||||
|
||||
if (controllerAssemblies == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(controllerAssemblies));
|
||||
}
|
||||
|
||||
ControllersAsServices.AddControllersAsServices(builder.Services, controllerAssemblies);
|
||||
return builder;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,7 +16,18 @@ namespace Microsoft.AspNet.Mvc.Internal
|
|||
{
|
||||
public static void AddControllersAsServices(IServiceCollection services, IEnumerable<Type> types)
|
||||
{
|
||||
if (services == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(services));
|
||||
}
|
||||
|
||||
if (types == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(types));
|
||||
}
|
||||
|
||||
var controllerTypeProvider = new StaticControllerTypeProvider();
|
||||
|
||||
foreach (var type in types)
|
||||
{
|
||||
services.TryAddTransient(type, type);
|
||||
|
|
@ -29,7 +40,18 @@ namespace Microsoft.AspNet.Mvc.Internal
|
|||
|
||||
public static void AddControllersAsServices(IServiceCollection services, IEnumerable<Assembly> assemblies)
|
||||
{
|
||||
if (services == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(services));
|
||||
}
|
||||
|
||||
if (assemblies == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(assemblies));
|
||||
}
|
||||
|
||||
var assemblyProvider = new StaticAssemblyProvider();
|
||||
|
||||
foreach (var assembly in assemblies)
|
||||
{
|
||||
assemblyProvider.CandidateAssemblies.Add(assembly);
|
||||
|
|
|
|||
Loading…
Reference in New Issue