diff --git a/samples/MvcSample.Web/Startup.cs b/samples/MvcSample.Web/Startup.cs index 7ffbe7b23b..1936e47378 100644 --- a/samples/MvcSample.Web/Startup.cs +++ b/samples/MvcSample.Web/Startup.cs @@ -1,10 +1,8 @@ -#if NET45 -using System; -using Autofac; + +#if NET45 using Microsoft.AspNet.Abstractions; using Microsoft.AspNet.DependencyInjection; -using Microsoft.AspNet.DependencyInjection.Autofac; -using Microsoft.AspNet.DependencyInjection.NestedProviders; +using Microsoft.AspNet.DependencyInjection.Fallback; using Microsoft.AspNet.Mvc; using Microsoft.AspNet.Routing; @@ -14,17 +12,11 @@ namespace MvcSample.Web { public void Configuration(IBuilder builder) { - var containerBuilder = new ContainerBuilder(); - var services = MvcServices.GetDefaultServices(); + var services = new ServiceCollection(); + services.Add(MvcServices.GetDefaultServices()); + services.AddSingleton(); - AutofacRegistration.Populate(containerBuilder, builder.ServiceProvider, services); - containerBuilder.RegisterInstance(new PassThroughAttribute()); - - // Temporary until we have support for open generics in our DI system. - containerBuilder.RegisterGeneric(typeof(NestedProviderManager<>)).As(typeof(INestedProviderManager<>)); - containerBuilder.RegisterGeneric(typeof(NestedProviderManagerAsync<>)).As(typeof(INestedProviderManagerAsync<>)); - - var serviceProvider = containerBuilder.Build().Resolve(); + var serviceProvider = services.BuildServiceProvider(builder.ServiceProvider); var routes = new RouteCollection() { diff --git a/samples/MvcSample.Web/project.json b/samples/MvcSample.Web/project.json index e1d0029322..e997e2f750 100644 --- a/samples/MvcSample.Web/project.json +++ b/samples/MvcSample.Web/project.json @@ -16,9 +16,7 @@ "configurations": { "net45": { "dependencies": { - "Autofac": "3.3.0", - "System.ComponentModel.DataAnnotations": "", - "Microsoft.AspNet.DependencyInjection.Autofac": "0.1-alpha-*" + "System.ComponentModel.DataAnnotations": "" } }, "k10": { diff --git a/src/Microsoft.AspNet.Mvc/MvcServices.cs b/src/Microsoft.AspNet.Mvc/MvcServices.cs index c994a589a3..8a3d185e73 100644 --- a/src/Microsoft.AspNet.Mvc/MvcServices.cs +++ b/src/Microsoft.AspNet.Mvc/MvcServices.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using Microsoft.AspNet.ConfigurationModel; using Microsoft.AspNet.DependencyInjection; +using Microsoft.AspNet.DependencyInjection.NestedProviders; using Microsoft.AspNet.Mvc.Filters; using Microsoft.AspNet.Mvc.ModelBinding; using Microsoft.AspNet.Mvc.Razor; @@ -66,6 +67,20 @@ namespace Microsoft.AspNet.Mvc yield return describe.Transient(); yield return describe.Transient(); + + yield return + describe.Describe( + typeof(INestedProviderManager<>), + typeof(NestedProviderManager<>), + implementationInstance: null, + lifecycle: LifecycleKind.Transient); + + yield return + describe.Describe( + typeof(INestedProviderManagerAsync<>), + typeof(NestedProviderManagerAsync<>), + implementationInstance: null, + lifecycle: LifecycleKind.Transient); } } }