From 27432d94530405f424e9015c8c5311907bd48b3f Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Mon, 24 Nov 2014 16:38:45 -0800 Subject: [PATCH] React to GetDefaultServices/TryAdd changes --- .../MvcServiceCollectionExtensions.cs | 21 ++++++++----------- src/Microsoft.AspNet.Mvc/MvcServices.cs | 7 +------ .../RazorPreCompileModule.cs | 6 ++---- 3 files changed, 12 insertions(+), 22 deletions(-) diff --git a/src/Microsoft.AspNet.Mvc/MvcServiceCollectionExtensions.cs b/src/Microsoft.AspNet.Mvc/MvcServiceCollectionExtensions.cs index 03e207da8f..674192e7c0 100644 --- a/src/Microsoft.AspNet.Mvc/MvcServiceCollectionExtensions.cs +++ b/src/Microsoft.AspNet.Mvc/MvcServiceCollectionExtensions.cs @@ -10,22 +10,19 @@ namespace Microsoft.Framework.DependencyInjection { public static class MvcServiceCollectionExtensions { - public static IServiceCollection AddMvc(this IServiceCollection services) + public static IServiceCollection AddMvc(this IServiceCollection services, IConfiguration configuration = null) { - ConfigureDefaultServices(services); - return services.Add(MvcServices.GetDefaultServices()); + ConfigureDefaultServices(services, configuration); + services.TryAdd(MvcServices.GetDefaultServices(configuration)); + return services; } - public static IServiceCollection AddMvc(this IServiceCollection services, IConfiguration configuration) + private static void ConfigureDefaultServices(IServiceCollection services, IConfiguration configuration) { - ConfigureDefaultServices(services); - return services.Add(MvcServices.GetDefaultServices(configuration)); - } - - private static void ConfigureDefaultServices(IServiceCollection services) - { - services.Add(DataProtectionServices.GetDefaultServices()); - services.Add(RoutingServices.GetDefaultServices()); + services.AddOptions(configuration); + services.AddDataProtection(configuration); + services.AddRouting(configuration); + services.AddContextAccessor(configuration); services.Configure(routeOptions => routeOptions.ConstraintMap .Add("exists", diff --git a/src/Microsoft.AspNet.Mvc/MvcServices.cs b/src/Microsoft.AspNet.Mvc/MvcServices.cs index c403bba646..a53a0aa5d8 100644 --- a/src/Microsoft.AspNet.Mvc/MvcServices.cs +++ b/src/Microsoft.AspNet.Mvc/MvcServices.cs @@ -23,12 +23,7 @@ namespace Microsoft.AspNet.Mvc { public class MvcServices { - public static IEnumerable GetDefaultServices() - { - return GetDefaultServices(new Configuration()); - } - - public static IEnumerable GetDefaultServices(IConfiguration configuration) + public static IEnumerable GetDefaultServices(IConfiguration configuration = null) { var describe = new ServiceDescriber(configuration); diff --git a/src/Microsoft.AspNet.Mvc/RazorPreCompileModule.cs b/src/Microsoft.AspNet.Mvc/RazorPreCompileModule.cs index 2b321314ec..fa676ee056 100644 --- a/src/Microsoft.AspNet.Mvc/RazorPreCompileModule.cs +++ b/src/Microsoft.AspNet.Mvc/RazorPreCompileModule.cs @@ -12,7 +12,6 @@ using Microsoft.CodeAnalysis.CSharp; using Microsoft.Framework.DependencyInjection; using Microsoft.Framework.DependencyInjection.Fallback; using Microsoft.Framework.DependencyInjection.ServiceLookup; -using Microsoft.Framework.OptionsModel; using Microsoft.Framework.Runtime; namespace Microsoft.AspNet.Mvc @@ -33,10 +32,9 @@ namespace Microsoft.AspNet.Mvc var appEnv = _appServices.GetRequiredService(); var setup = new RazorViewEngineOptionsSetup(appEnv); - var accessor = new OptionsManager(new[] { setup }); var sc = new ServiceCollection(); - sc.AddInstance>(accessor); - sc.Add(MvcServices.GetDefaultServices()); + sc.ConfigureOptions(setup); + sc.AddMvc(); var viewCompiler = new RazorPreCompiler(BuildFallbackServiceProvider(sc, _appServices)); viewCompiler.CompileViews(context);