parent
9618dfa272
commit
ee55e38260
|
|
@ -23,13 +23,13 @@ namespace Microsoft.AspNet.Hosting
|
||||||
services.AddTransient(service, sp => fallbackProvider.GetService(service));
|
services.AddTransient(service, sp => fallbackProvider.GetService(service));
|
||||||
}
|
}
|
||||||
|
|
||||||
services.AddSingleton<IServiceManifest>(sp => new HostingManifest(services));
|
|
||||||
|
|
||||||
if (configureHostServices != null)
|
if (configureHostServices != null)
|
||||||
{
|
{
|
||||||
configureHostServices(services);
|
configureHostServices(services);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
services.AddSingleton<IServiceManifest>(sp => new HostingManifest(services));
|
||||||
|
|
||||||
return services;
|
return services;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -119,6 +119,33 @@ namespace Microsoft.AspNet.Hosting.Tests
|
||||||
Assert.Same(singleton, provider.GetRequiredService<IFakeService>());
|
Assert.Same(singleton, provider.GetRequiredService<IFakeService>());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void CreateAdditionalServices_IncludesServicesInManifest()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var fallbackServices = new ServiceCollection();
|
||||||
|
fallbackServices.AddTransient<IFakeService, FakeService>();
|
||||||
|
fallbackServices.AddInstance<IServiceManifest>(new ServiceManifest(
|
||||||
|
new Type[] {
|
||||||
|
typeof(IFakeService),
|
||||||
|
}));
|
||||||
|
var expectedInstance = new FakeService();
|
||||||
|
var services = HostingServices.Create(
|
||||||
|
fallbackServices.BuildServiceProvider(),
|
||||||
|
additionalHostServices => additionalHostServices.AddInstance<IFakeServiceInstance>(expectedInstance));
|
||||||
|
|
||||||
|
// Act
|
||||||
|
var provider = services.BuildServiceProvider();
|
||||||
|
var instance = provider.GetRequiredService<IFakeServiceInstance>();
|
||||||
|
var anotherInstance = provider.GetRequiredService<IFakeServiceInstance>();
|
||||||
|
var manifest = provider.GetRequiredService<IServiceManifest>();
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.Same(expectedInstance, instance);
|
||||||
|
Assert.Same(expectedInstance, anotherInstance);
|
||||||
|
Assert.Contains(typeof(IFakeServiceInstance), manifest.Services);
|
||||||
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void CanHideImportedServices()
|
public void CanHideImportedServices()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue