parent
9618dfa272
commit
ee55e38260
|
|
@ -23,13 +23,13 @@ namespace Microsoft.AspNet.Hosting
|
|||
services.AddTransient(service, sp => fallbackProvider.GetService(service));
|
||||
}
|
||||
|
||||
services.AddSingleton<IServiceManifest>(sp => new HostingManifest(services));
|
||||
|
||||
if (configureHostServices != null)
|
||||
{
|
||||
configureHostServices(services);
|
||||
}
|
||||
|
||||
services.AddSingleton<IServiceManifest>(sp => new HostingManifest(services));
|
||||
|
||||
return services;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -119,6 +119,33 @@ namespace Microsoft.AspNet.Hosting.Tests
|
|||
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]
|
||||
public void CanHideImportedServices()
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue