From cd90a337eeda518ab47d709c506ba42757746bab Mon Sep 17 00:00:00 2001 From: Stephen Halter Date: Thu, 16 Oct 2014 16:20:52 -0700 Subject: [PATCH] Change GetService calls to GetRequiredService GetRequiredService throws for missing services like GetService used to. --- src/Microsoft.AspNet.Hosting/HostingEngine.cs | 2 +- src/Microsoft.AspNet.Hosting/Program.cs | 6 +++--- .../Startup/StartupLoader.cs | 2 +- src/Microsoft.AspNet.Hosting/WebApplication.cs | 2 +- .../ContainerMiddleware.cs | 4 ++-- .../RequestServicesContainer.cs | 12 ++++++------ src/Microsoft.AspNet.TestHost/TestServer.cs | 6 +++--- .../HostingEngineTests.cs | 4 ++-- .../StartupManagerTests.cs | 18 +++++++++--------- .../UseServicesFacts.cs | 4 ++-- .../TestServerTests.cs | 2 +- 11 files changed, 31 insertions(+), 31 deletions(-) diff --git a/src/Microsoft.AspNet.Hosting/HostingEngine.cs b/src/Microsoft.AspNet.Hosting/HostingEngine.cs index f7642f14f8..4eb09ab00d 100644 --- a/src/Microsoft.AspNet.Hosting/HostingEngine.cs +++ b/src/Microsoft.AspNet.Hosting/HostingEngine.cs @@ -37,7 +37,7 @@ namespace Microsoft.AspNet.Hosting InitalizeServerFactory(context); EnsureApplicationDelegate(context); - var applicationLifetime = (ApplicationLifetime)context.Services.GetService(); + var applicationLifetime = (ApplicationLifetime)context.Services.GetRequiredService(); var pipeline = new PipelineInstance(_httpContextFactory, context.ApplicationDelegate); var server = context.ServerFactory.Start(context.Server, pipeline.Invoke); diff --git a/src/Microsoft.AspNet.Hosting/Program.cs b/src/Microsoft.AspNet.Hosting/Program.cs index 5d83450f4d..a339fa9de9 100644 --- a/src/Microsoft.AspNet.Hosting/Program.cs +++ b/src/Microsoft.AspNet.Hosting/Program.cs @@ -36,7 +36,7 @@ namespace Microsoft.AspNet.Hosting config.AddEnvironmentVariables(); config.AddCommandLine(args); - var appEnv = _serviceProvider.GetService(); + var appEnv = _serviceProvider.GetRequiredService(); var hostingEnv = new HostingEnvironment() { @@ -67,8 +67,8 @@ namespace Microsoft.AspNet.Hosting EnvironmentName = hostingEnv.EnvironmentName, }; - var engine = services.GetService(); - var appShutdownService = _serviceProvider.GetService(); + var engine = services.GetRequiredService(); + var appShutdownService = _serviceProvider.GetRequiredService(); var shutdownHandle = new ManualResetEvent(false); var serverShutdown = engine.Start(context); diff --git a/src/Microsoft.AspNet.Hosting/Startup/StartupLoader.cs b/src/Microsoft.AspNet.Hosting/Startup/StartupLoader.cs index 6e9591949b..376ba3a07f 100644 --- a/src/Microsoft.AspNet.Hosting/Startup/StartupLoader.cs +++ b/src/Microsoft.AspNet.Hosting/Startup/StartupLoader.cs @@ -74,7 +74,7 @@ namespace Microsoft.AspNet.Hosting.Startup { try { - parameters[index] = _services.GetService(parameterInfo.ParameterType); + parameters[index] = _services.GetRequiredService(parameterInfo.ParameterType); } catch (Exception) { diff --git a/src/Microsoft.AspNet.Hosting/WebApplication.cs b/src/Microsoft.AspNet.Hosting/WebApplication.cs index b891a0b5a7..054f90d6d4 100644 --- a/src/Microsoft.AspNet.Hosting/WebApplication.cs +++ b/src/Microsoft.AspNet.Hosting/WebApplication.cs @@ -19,7 +19,7 @@ namespace Microsoft.AspNet.Hosting Services = serviceCollection.BuildServiceProvider() }; - var engine = context.Services.GetService(); + var engine = context.Services.GetRequiredService(); if (engine == null) { throw new Exception("TODO: IHostingEngine service not available exception"); diff --git a/src/Microsoft.AspNet.RequestContainer/ContainerMiddleware.cs b/src/Microsoft.AspNet.RequestContainer/ContainerMiddleware.cs index 3c1e5e52c9..4145525ab8 100644 --- a/src/Microsoft.AspNet.RequestContainer/ContainerMiddleware.cs +++ b/src/Microsoft.AspNet.RequestContainer/ContainerMiddleware.cs @@ -88,8 +88,8 @@ namespace Microsoft.AspNet.RequestContainer priorApplicationServices != appServiceProvider) { appServiceProvider = priorApplicationServices; - appServiceScopeFactory = priorApplicationServices.GetService(); - appHttpContextAccessor = priorApplicationServices.GetService>(); + appServiceScopeFactory = priorApplicationServices.GetRequiredService(); + appHttpContextAccessor = priorApplicationServices.GetRequiredService>(); } using (var container = new RequestServicesContainer(httpContext, appServiceScopeFactory, appHttpContextAccessor, appServiceProvider)) diff --git a/src/Microsoft.AspNet.RequestContainer/RequestServicesContainer.cs b/src/Microsoft.AspNet.RequestContainer/RequestServicesContainer.cs index 921cfcc425..a7c646321e 100644 --- a/src/Microsoft.AspNet.RequestContainer/RequestServicesContainer.cs +++ b/src/Microsoft.AspNet.RequestContainer/RequestServicesContainer.cs @@ -36,7 +36,7 @@ namespace Microsoft.AspNet.RequestContainer // Begin the scope Scope = scopeFactory.CreateScope(); - ScopeContextAccessor = Scope.ServiceProvider.GetService>(); + ScopeContextAccessor = Scope.ServiceProvider.GetRequiredService>(); Context.ApplicationServices = appServiceProvider; Context.RequestServices = Scope.ServiceProvider; @@ -71,9 +71,9 @@ namespace Microsoft.AspNet.RequestContainer } // Matches constructor of RequestContainer - var rootServiceProvider = serviceProvider.GetService(); - var rootHttpContextAccessor = serviceProvider.GetService>(); - var rootServiceScopeFactory = serviceProvider.GetService(); + var rootServiceProvider = serviceProvider.GetRequiredService(); + var rootHttpContextAccessor = serviceProvider.GetRequiredService>(); + var rootServiceScopeFactory = serviceProvider.GetRequiredService(); rootHttpContextAccessor.SetContextSource(ContainerMiddleware.AccessRootHttpContext, ContainerMiddleware.ExchangeRootHttpContext); @@ -89,8 +89,8 @@ namespace Microsoft.AspNet.RequestContainer priorApplicationServices != appServiceProvider) { appServiceProvider = priorApplicationServices; - appServiceScopeFactory = priorApplicationServices.GetService(); - appHttpContextAccessor = priorApplicationServices.GetService>(); + appServiceScopeFactory = priorApplicationServices.GetRequiredService(); + appHttpContextAccessor = priorApplicationServices.GetRequiredService>(); } // Creates the scope and does the service swaps diff --git a/src/Microsoft.AspNet.TestHost/TestServer.cs b/src/Microsoft.AspNet.TestHost/TestServer.cs index dee516dd2d..977623c3d0 100644 --- a/src/Microsoft.AspNet.TestHost/TestServer.cs +++ b/src/Microsoft.AspNet.TestHost/TestServer.cs @@ -26,7 +26,7 @@ namespace Microsoft.AspNet.TestHost public TestServer(IConfiguration config, IServiceProvider serviceProvider, Action appStartup) { - var appEnv = serviceProvider.GetService(); + var appEnv = serviceProvider.GetRequiredService(); HostingContext hostContext = new HostingContext() { @@ -37,7 +37,7 @@ namespace Microsoft.AspNet.TestHost ApplicationStartup = appStartup }; - var engine = serviceProvider.GetService(); + var engine = serviceProvider.GetRequiredService(); _appInstance = engine.Start(hostContext); } @@ -48,7 +48,7 @@ namespace Microsoft.AspNet.TestHost public static TestServer Create(IServiceProvider provider, Action app) { - var appEnv = provider.GetService(); + var appEnv = provider.GetRequiredService(); var hostingEnv = new HostingEnvironment() { diff --git a/test/Microsoft.AspNet.Hosting.Tests/HostingEngineTests.cs b/test/Microsoft.AspNet.Hosting.Tests/HostingEngineTests.cs index 6f79dc1eab..01ec585067 100644 --- a/test/Microsoft.AspNet.Hosting.Tests/HostingEngineTests.cs +++ b/test/Microsoft.AspNet.Hosting.Tests/HostingEngineTests.cs @@ -24,7 +24,7 @@ namespace Microsoft.AspNet.Hosting serviceCollection.Add(HostingServices.GetDefaultServices()); var services = serviceCollection.BuildServiceProvider(); - var engine = services.GetService(); + var engine = services.GetRequiredService(); Assert.NotNull(engine); } @@ -36,7 +36,7 @@ namespace Microsoft.AspNet.Hosting serviceCollection.Add(HostingServices.GetDefaultServices()); var services = serviceCollection.BuildServiceProvider(); - var engine = services.GetService(); + var engine = services.GetRequiredService(); var context = new HostingContext { diff --git a/test/Microsoft.AspNet.Hosting.Tests/StartupManagerTests.cs b/test/Microsoft.AspNet.Hosting.Tests/StartupManagerTests.cs index 6a7527e749..764d0f9ff9 100644 --- a/test/Microsoft.AspNet.Hosting.Tests/StartupManagerTests.cs +++ b/test/Microsoft.AspNet.Hosting.Tests/StartupManagerTests.cs @@ -26,7 +26,7 @@ namespace Microsoft.AspNet.Hosting serviceCollection.AddInstance(this); var services = serviceCollection.BuildServiceProvider(); - var manager = services.GetService(); + var manager = services.GetRequiredService(); var startup = manager.LoadStartup("Microsoft.AspNet.Hosting.Tests", "WithServices"); @@ -48,7 +48,7 @@ namespace Microsoft.AspNet.Hosting var serviceCollection = new ServiceCollection(); serviceCollection.Add(HostingServices.GetDefaultServices()); var services = serviceCollection.BuildServiceProvider(); - var manager = services.GetService(); + var manager = services.GetRequiredService(); var startup = manager.LoadStartup("Microsoft.AspNet.Hosting.Tests", environment ?? ""); @@ -56,7 +56,7 @@ namespace Microsoft.AspNet.Hosting startup.Invoke(app); - var options = app.ApplicationServices.GetService>().Options; + var options = app.ApplicationServices.GetRequiredService>().Options; Assert.NotNull(options); Assert.True(options.Configured); Assert.Equal(environment, options.Environment); @@ -70,7 +70,7 @@ namespace Microsoft.AspNet.Hosting var serviceCollection = new ServiceCollection(); serviceCollection.Add(HostingServices.GetDefaultServices()); var services = serviceCollection.BuildServiceProvider(); - var manager = services.GetService(); + var manager = services.GetRequiredService(); var startup = manager.LoadStartup("Microsoft.AspNet.Hosting.Tests", env); @@ -87,7 +87,7 @@ namespace Microsoft.AspNet.Hosting var serviceCollection = new ServiceCollection(); serviceCollection.Add(HostingServices.GetDefaultServices()); var services = serviceCollection.BuildServiceProvider(); - var manager = services.GetService(); + var manager = services.GetRequiredService(); var startup = manager.LoadStartup("Microsoft.AspNet.Hosting.Tests", "UseServices"); @@ -95,10 +95,10 @@ namespace Microsoft.AspNet.Hosting startup.Invoke(app); - Assert.NotNull(app.ApplicationServices.GetService()); - Assert.NotNull(app.ApplicationServices.GetService()); + Assert.NotNull(app.ApplicationServices.GetRequiredService()); + Assert.NotNull(app.ApplicationServices.GetRequiredService()); - var options = app.ApplicationServices.GetService>().Options; + var options = app.ApplicationServices.GetRequiredService>().Options; Assert.NotNull(options); Assert.Equal("Configured", options.Message); Assert.False(options.Configured); // REVIEW: why doesn't the ConfigureServices ConfigureOptions get run? @@ -111,7 +111,7 @@ namespace Microsoft.AspNet.Hosting serviceCollection.Add(HostingServices.GetDefaultServices()); serviceCollection.AddInstance(this); var services = serviceCollection.BuildServiceProvider(); - var manager = services.GetService(); + var manager = services.GetRequiredService(); var ex = Assert.Throws(() => manager.LoadStartup("Microsoft.AspNet.Hosting.Tests", "Boom")); Assert.True(ex.Message.Contains("ConfigureBoom or Configure method not found")); diff --git a/test/Microsoft.AspNet.Hosting.Tests/UseServicesFacts.cs b/test/Microsoft.AspNet.Hosting.Tests/UseServicesFacts.cs index f32a45af49..d556e2b4fe 100644 --- a/test/Microsoft.AspNet.Hosting.Tests/UseServicesFacts.cs +++ b/test/Microsoft.AspNet.Hosting.Tests/UseServicesFacts.cs @@ -22,7 +22,7 @@ namespace Microsoft.AspNet.Hosting.Tests builder.UseServices(serviceCollection => { }); - var optionsAccessor = builder.ApplicationServices.GetService>(); + var optionsAccessor = builder.ApplicationServices.GetRequiredService>(); Assert.NotNull(optionsAccessor); } @@ -41,7 +41,7 @@ namespace Microsoft.AspNet.Hosting.Tests }); Assert.Same(serviceProvider, builder.ApplicationServices); - var optionsAccessor = builder.ApplicationServices.GetService>(); + var optionsAccessor = builder.ApplicationServices.GetRequiredService>(); Assert.NotNull(optionsAccessor); } } diff --git a/test/Microsoft.AspNet.TestHost.Tests/TestServerTests.cs b/test/Microsoft.AspNet.TestHost.Tests/TestServerTests.cs index 025d3a7a21..8a9bacf97b 100644 --- a/test/Microsoft.AspNet.TestHost.Tests/TestServerTests.cs +++ b/test/Microsoft.AspNet.TestHost.Tests/TestServerTests.cs @@ -61,7 +61,7 @@ namespace Microsoft.AspNet.TestHost { TestServer server = TestServer.Create(app => { - var env = app.ApplicationServices.GetService(); + var env = app.ApplicationServices.GetRequiredService(); Assert.Equal(Path.GetFullPath("testroot"), env.WebRoot); }); }