Move registration of nested provider infrastructure
The DI system has support for registering open generics now, so we can go through that instead of directly through autofac.
This commit is contained in:
parent
5b6eb307ae
commit
dc6843acf7
|
|
@ -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<PassThroughAttribute, PassThroughAttribute>();
|
||||
|
||||
AutofacRegistration.Populate(containerBuilder, builder.ServiceProvider, services);
|
||||
containerBuilder.RegisterInstance<PassThroughAttribute>(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<IServiceProvider>();
|
||||
var serviceProvider = services.BuildServiceProvider(builder.ServiceProvider);
|
||||
|
||||
var routes = new RouteCollection()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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": {
|
||||
|
|
|
|||
|
|
@ -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<IModelValidatorProvider, DataAnnotationsModelValidatorProvider>();
|
||||
yield return describe.Transient<IModelValidatorProvider, DataMemberModelValidatorProvider>();
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue