Updated to use service collection

This commit is contained in:
David Fowler 2014-03-14 14:22:20 -07:00
parent 2b7272fe07
commit c3e0279aac
4 changed files with 25 additions and 12 deletions

View File

@ -27,8 +27,9 @@ namespace Microsoft.AspNet.Hosting
config.AddIniFile(HostingIniFile);
}
var services = new ServiceProvider(_serviceProvider)
.Add(HostingServices.GetDefaultServices(config));
var serviceCollection = new ServiceCollection();
serviceCollection.Add(HostingServices.GetDefaultServices(config));
var services = serviceCollection.FallbackServices;
var appEnvironment = _serviceProvider.GetService<IApplicationEnvironment>();

View File

@ -1,5 +1,6 @@
using System;
using Microsoft.AspNet.DependencyInjection;
using Microsoft.AspNet.DependencyInjection.Fallback;
namespace Microsoft.AspNet.Hosting
{
@ -7,9 +8,12 @@ namespace Microsoft.AspNet.Hosting
{
public static IDisposable Start()
{
var serviceCollection = new ServiceCollection();
serviceCollection.Add(HostingServices.GetDefaultServices());
var context = new HostingContext
{
Services = new ServiceProvider().Add(HostingServices.GetDefaultServices())
Services = serviceCollection.BuildServiceProvider()
};
var engine = context.Services.GetService<IHostingEngine>();
@ -17,6 +21,7 @@ namespace Microsoft.AspNet.Hosting
{
throw new Exception("TODO: IHostingEngine service not available exception");
}
return engine.Start(context);
}
}

View File

@ -4,6 +4,7 @@ using System.Threading.Tasks;
using Microsoft.AspNet.Abstractions;
using Microsoft.AspNet.DependencyInjection;
using Microsoft.AspNet.Hosting.Server;
using Microsoft.AspNet.DependencyInjection.Fallback;
using Xunit;
namespace Microsoft.AspNet.Hosting
@ -15,8 +16,9 @@ namespace Microsoft.AspNet.Hosting
[Fact]
public void HostingEngineCanBeResolvedWithDefaultServices()
{
var services = new ServiceProvider()
.Add(HostingServices.GetDefaultServices());
var serviceCollection = new ServiceCollection();
serviceCollection.Add(HostingServices.GetDefaultServices());
var services = serviceCollection.BuildServiceProvider();
var engine = services.GetService<IHostingEngine>();
@ -26,8 +28,9 @@ namespace Microsoft.AspNet.Hosting
[Fact]
public void HostingEngineCanBeStarted()
{
var services = new ServiceProvider()
.Add(HostingServices.GetDefaultServices());
var serviceCollection = new ServiceCollection();
serviceCollection.Add(HostingServices.GetDefaultServices());
var services = serviceCollection.BuildServiceProvider();
var engine = services.GetService<IHostingEngine>();

View File

@ -1,13 +1,14 @@
using System;
using System.Collections.Generic;
using Microsoft.AspNet.DependencyInjection;
using Microsoft.AspNet.DependencyInjection.Fallback;
using Microsoft.AspNet.Hosting.Startup;
using Microsoft.AspNet.Hosting.Fakes;
using Xunit;
namespace Microsoft.AspNet.Hosting
{
public class StartupManagerTests : IFakeStartupCallback
{
private readonly IList<object> _configurationMethodCalledList = new List<object>();
@ -15,7 +16,9 @@ namespace Microsoft.AspNet.Hosting
[Fact]
public void DefaultServicesLocateStartupByNameAndNamespace()
{
IServiceProvider services = new ServiceProvider().Add(HostingServices.GetDefaultServices());
var serviceCollection = new ServiceCollection();
serviceCollection.Add(HostingServices.GetDefaultServices());
var services = serviceCollection.BuildServiceProvider();
var manager = services.GetService<IStartupManager>();
@ -28,9 +31,10 @@ namespace Microsoft.AspNet.Hosting
[Fact]
public void StartupClassMayHaveHostingServicesInjected()
{
IServiceProvider services = new ServiceProvider()
.Add(HostingServices.GetDefaultServices())
.AddInstance<IFakeStartupCallback>(this);
var serviceCollection = new ServiceCollection();
serviceCollection.Add(HostingServices.GetDefaultServices());
serviceCollection.AddInstance<IFakeStartupCallback>(this);
var services = serviceCollection.BuildServiceProvider();
var manager = services.GetService<IStartupManager>();