Apply `configureHostServices` after the `fallbackProvider`

- allows MVC to override `IApplicationEnvironment` in functional tests
This commit is contained in:
Doug Bunting 2015-03-06 15:04:18 -08:00
parent 28cc37de96
commit 89a1ec1cb5
1 changed files with 7 additions and 4 deletions

View File

@ -17,16 +17,19 @@ namespace Microsoft.AspNet.Hosting
private static IServiceCollection Import(IServiceProvider fallbackProvider, Action<IServiceCollection> configureHostServices)
{
var services = new ServiceCollection();
if (configureHostServices != null)
{
configureHostServices(services);
}
var manifest = fallbackProvider.GetRequiredService<IServiceManifest>();
foreach (var service in manifest.Services)
{
services.AddTransient(service, sp => fallbackProvider.GetService(service));
}
services.AddSingleton<IServiceManifest>(sp => new HostingManifest(services));
if (configureHostServices != null)
{
configureHostServices(services);
}
return services;
}