Change GetService calls to GetRequiredService

GetRequiredService throws for missing services like GetService used to.
This commit is contained in:
Stephen Halter 2014-10-16 16:20:52 -07:00
parent 4efa6a428b
commit cd90a337ee
11 changed files with 31 additions and 31 deletions

View File

@ -37,7 +37,7 @@ namespace Microsoft.AspNet.Hosting
InitalizeServerFactory(context); InitalizeServerFactory(context);
EnsureApplicationDelegate(context); EnsureApplicationDelegate(context);
var applicationLifetime = (ApplicationLifetime)context.Services.GetService<IApplicationLifetime>(); var applicationLifetime = (ApplicationLifetime)context.Services.GetRequiredService<IApplicationLifetime>();
var pipeline = new PipelineInstance(_httpContextFactory, context.ApplicationDelegate); var pipeline = new PipelineInstance(_httpContextFactory, context.ApplicationDelegate);
var server = context.ServerFactory.Start(context.Server, pipeline.Invoke); var server = context.ServerFactory.Start(context.Server, pipeline.Invoke);

View File

@ -36,7 +36,7 @@ namespace Microsoft.AspNet.Hosting
config.AddEnvironmentVariables(); config.AddEnvironmentVariables();
config.AddCommandLine(args); config.AddCommandLine(args);
var appEnv = _serviceProvider.GetService<IApplicationEnvironment>(); var appEnv = _serviceProvider.GetRequiredService<IApplicationEnvironment>();
var hostingEnv = new HostingEnvironment() var hostingEnv = new HostingEnvironment()
{ {
@ -67,8 +67,8 @@ namespace Microsoft.AspNet.Hosting
EnvironmentName = hostingEnv.EnvironmentName, EnvironmentName = hostingEnv.EnvironmentName,
}; };
var engine = services.GetService<IHostingEngine>(); var engine = services.GetRequiredService<IHostingEngine>();
var appShutdownService = _serviceProvider.GetService<IApplicationShutdown>(); var appShutdownService = _serviceProvider.GetRequiredService<IApplicationShutdown>();
var shutdownHandle = new ManualResetEvent(false); var shutdownHandle = new ManualResetEvent(false);
var serverShutdown = engine.Start(context); var serverShutdown = engine.Start(context);

View File

@ -74,7 +74,7 @@ namespace Microsoft.AspNet.Hosting.Startup
{ {
try try
{ {
parameters[index] = _services.GetService(parameterInfo.ParameterType); parameters[index] = _services.GetRequiredService(parameterInfo.ParameterType);
} }
catch (Exception) catch (Exception)
{ {

View File

@ -19,7 +19,7 @@ namespace Microsoft.AspNet.Hosting
Services = serviceCollection.BuildServiceProvider() Services = serviceCollection.BuildServiceProvider()
}; };
var engine = context.Services.GetService<IHostingEngine>(); var engine = context.Services.GetRequiredService<IHostingEngine>();
if (engine == null) if (engine == null)
{ {
throw new Exception("TODO: IHostingEngine service not available exception"); throw new Exception("TODO: IHostingEngine service not available exception");

View File

@ -88,8 +88,8 @@ namespace Microsoft.AspNet.RequestContainer
priorApplicationServices != appServiceProvider) priorApplicationServices != appServiceProvider)
{ {
appServiceProvider = priorApplicationServices; appServiceProvider = priorApplicationServices;
appServiceScopeFactory = priorApplicationServices.GetService<IServiceScopeFactory>(); appServiceScopeFactory = priorApplicationServices.GetRequiredService<IServiceScopeFactory>();
appHttpContextAccessor = priorApplicationServices.GetService<IContextAccessor<HttpContext>>(); appHttpContextAccessor = priorApplicationServices.GetRequiredService<IContextAccessor<HttpContext>>();
} }
using (var container = new RequestServicesContainer(httpContext, appServiceScopeFactory, appHttpContextAccessor, appServiceProvider)) using (var container = new RequestServicesContainer(httpContext, appServiceScopeFactory, appHttpContextAccessor, appServiceProvider))

View File

@ -36,7 +36,7 @@ namespace Microsoft.AspNet.RequestContainer
// Begin the scope // Begin the scope
Scope = scopeFactory.CreateScope(); Scope = scopeFactory.CreateScope();
ScopeContextAccessor = Scope.ServiceProvider.GetService<IContextAccessor<HttpContext>>(); ScopeContextAccessor = Scope.ServiceProvider.GetRequiredService<IContextAccessor<HttpContext>>();
Context.ApplicationServices = appServiceProvider; Context.ApplicationServices = appServiceProvider;
Context.RequestServices = Scope.ServiceProvider; Context.RequestServices = Scope.ServiceProvider;
@ -71,9 +71,9 @@ namespace Microsoft.AspNet.RequestContainer
} }
// Matches constructor of RequestContainer // Matches constructor of RequestContainer
var rootServiceProvider = serviceProvider.GetService<IServiceProvider>(); var rootServiceProvider = serviceProvider.GetRequiredService<IServiceProvider>();
var rootHttpContextAccessor = serviceProvider.GetService<IContextAccessor<HttpContext>>(); var rootHttpContextAccessor = serviceProvider.GetRequiredService<IContextAccessor<HttpContext>>();
var rootServiceScopeFactory = serviceProvider.GetService<IServiceScopeFactory>(); var rootServiceScopeFactory = serviceProvider.GetRequiredService<IServiceScopeFactory>();
rootHttpContextAccessor.SetContextSource(ContainerMiddleware.AccessRootHttpContext, ContainerMiddleware.ExchangeRootHttpContext); rootHttpContextAccessor.SetContextSource(ContainerMiddleware.AccessRootHttpContext, ContainerMiddleware.ExchangeRootHttpContext);
@ -89,8 +89,8 @@ namespace Microsoft.AspNet.RequestContainer
priorApplicationServices != appServiceProvider) priorApplicationServices != appServiceProvider)
{ {
appServiceProvider = priorApplicationServices; appServiceProvider = priorApplicationServices;
appServiceScopeFactory = priorApplicationServices.GetService<IServiceScopeFactory>(); appServiceScopeFactory = priorApplicationServices.GetRequiredService<IServiceScopeFactory>();
appHttpContextAccessor = priorApplicationServices.GetService<IContextAccessor<HttpContext>>(); appHttpContextAccessor = priorApplicationServices.GetRequiredService<IContextAccessor<HttpContext>>();
} }
// Creates the scope and does the service swaps // Creates the scope and does the service swaps

View File

@ -26,7 +26,7 @@ namespace Microsoft.AspNet.TestHost
public TestServer(IConfiguration config, IServiceProvider serviceProvider, Action<IApplicationBuilder> appStartup) public TestServer(IConfiguration config, IServiceProvider serviceProvider, Action<IApplicationBuilder> appStartup)
{ {
var appEnv = serviceProvider.GetService<IApplicationEnvironment>(); var appEnv = serviceProvider.GetRequiredService<IApplicationEnvironment>();
HostingContext hostContext = new HostingContext() HostingContext hostContext = new HostingContext()
{ {
@ -37,7 +37,7 @@ namespace Microsoft.AspNet.TestHost
ApplicationStartup = appStartup ApplicationStartup = appStartup
}; };
var engine = serviceProvider.GetService<IHostingEngine>(); var engine = serviceProvider.GetRequiredService<IHostingEngine>();
_appInstance = engine.Start(hostContext); _appInstance = engine.Start(hostContext);
} }
@ -48,7 +48,7 @@ namespace Microsoft.AspNet.TestHost
public static TestServer Create(IServiceProvider provider, Action<IApplicationBuilder> app) public static TestServer Create(IServiceProvider provider, Action<IApplicationBuilder> app)
{ {
var appEnv = provider.GetService<IApplicationEnvironment>(); var appEnv = provider.GetRequiredService<IApplicationEnvironment>();
var hostingEnv = new HostingEnvironment() var hostingEnv = new HostingEnvironment()
{ {

View File

@ -24,7 +24,7 @@ namespace Microsoft.AspNet.Hosting
serviceCollection.Add(HostingServices.GetDefaultServices()); serviceCollection.Add(HostingServices.GetDefaultServices());
var services = serviceCollection.BuildServiceProvider(); var services = serviceCollection.BuildServiceProvider();
var engine = services.GetService<IHostingEngine>(); var engine = services.GetRequiredService<IHostingEngine>();
Assert.NotNull(engine); Assert.NotNull(engine);
} }
@ -36,7 +36,7 @@ namespace Microsoft.AspNet.Hosting
serviceCollection.Add(HostingServices.GetDefaultServices()); serviceCollection.Add(HostingServices.GetDefaultServices());
var services = serviceCollection.BuildServiceProvider(); var services = serviceCollection.BuildServiceProvider();
var engine = services.GetService<IHostingEngine>(); var engine = services.GetRequiredService<IHostingEngine>();
var context = new HostingContext var context = new HostingContext
{ {

View File

@ -26,7 +26,7 @@ namespace Microsoft.AspNet.Hosting
serviceCollection.AddInstance<IFakeStartupCallback>(this); serviceCollection.AddInstance<IFakeStartupCallback>(this);
var services = serviceCollection.BuildServiceProvider(); var services = serviceCollection.BuildServiceProvider();
var manager = services.GetService<IStartupManager>(); var manager = services.GetRequiredService<IStartupManager>();
var startup = manager.LoadStartup("Microsoft.AspNet.Hosting.Tests", "WithServices"); var startup = manager.LoadStartup("Microsoft.AspNet.Hosting.Tests", "WithServices");
@ -48,7 +48,7 @@ namespace Microsoft.AspNet.Hosting
var serviceCollection = new ServiceCollection(); var serviceCollection = new ServiceCollection();
serviceCollection.Add(HostingServices.GetDefaultServices()); serviceCollection.Add(HostingServices.GetDefaultServices());
var services = serviceCollection.BuildServiceProvider(); var services = serviceCollection.BuildServiceProvider();
var manager = services.GetService<IStartupManager>(); var manager = services.GetRequiredService<IStartupManager>();
var startup = manager.LoadStartup("Microsoft.AspNet.Hosting.Tests", environment ?? ""); var startup = manager.LoadStartup("Microsoft.AspNet.Hosting.Tests", environment ?? "");
@ -56,7 +56,7 @@ namespace Microsoft.AspNet.Hosting
startup.Invoke(app); startup.Invoke(app);
var options = app.ApplicationServices.GetService<IOptions<FakeOptions>>().Options; var options = app.ApplicationServices.GetRequiredService<IOptions<FakeOptions>>().Options;
Assert.NotNull(options); Assert.NotNull(options);
Assert.True(options.Configured); Assert.True(options.Configured);
Assert.Equal(environment, options.Environment); Assert.Equal(environment, options.Environment);
@ -70,7 +70,7 @@ namespace Microsoft.AspNet.Hosting
var serviceCollection = new ServiceCollection(); var serviceCollection = new ServiceCollection();
serviceCollection.Add(HostingServices.GetDefaultServices()); serviceCollection.Add(HostingServices.GetDefaultServices());
var services = serviceCollection.BuildServiceProvider(); var services = serviceCollection.BuildServiceProvider();
var manager = services.GetService<IStartupManager>(); var manager = services.GetRequiredService<IStartupManager>();
var startup = manager.LoadStartup("Microsoft.AspNet.Hosting.Tests", env); var startup = manager.LoadStartup("Microsoft.AspNet.Hosting.Tests", env);
@ -87,7 +87,7 @@ namespace Microsoft.AspNet.Hosting
var serviceCollection = new ServiceCollection(); var serviceCollection = new ServiceCollection();
serviceCollection.Add(HostingServices.GetDefaultServices()); serviceCollection.Add(HostingServices.GetDefaultServices());
var services = serviceCollection.BuildServiceProvider(); var services = serviceCollection.BuildServiceProvider();
var manager = services.GetService<IStartupManager>(); var manager = services.GetRequiredService<IStartupManager>();
var startup = manager.LoadStartup("Microsoft.AspNet.Hosting.Tests", "UseServices"); var startup = manager.LoadStartup("Microsoft.AspNet.Hosting.Tests", "UseServices");
@ -95,10 +95,10 @@ namespace Microsoft.AspNet.Hosting
startup.Invoke(app); startup.Invoke(app);
Assert.NotNull(app.ApplicationServices.GetService<FakeService>()); Assert.NotNull(app.ApplicationServices.GetRequiredService<FakeService>());
Assert.NotNull(app.ApplicationServices.GetService<IFakeService>()); Assert.NotNull(app.ApplicationServices.GetRequiredService<IFakeService>());
var options = app.ApplicationServices.GetService<IOptions<FakeOptions>>().Options; var options = app.ApplicationServices.GetRequiredService<IOptions<FakeOptions>>().Options;
Assert.NotNull(options); Assert.NotNull(options);
Assert.Equal("Configured", options.Message); Assert.Equal("Configured", options.Message);
Assert.False(options.Configured); // REVIEW: why doesn't the ConfigureServices ConfigureOptions get run? 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.Add(HostingServices.GetDefaultServices());
serviceCollection.AddInstance<IFakeStartupCallback>(this); serviceCollection.AddInstance<IFakeStartupCallback>(this);
var services = serviceCollection.BuildServiceProvider(); var services = serviceCollection.BuildServiceProvider();
var manager = services.GetService<IStartupManager>(); var manager = services.GetRequiredService<IStartupManager>();
var ex = Assert.Throws<Exception>(() => manager.LoadStartup("Microsoft.AspNet.Hosting.Tests", "Boom")); var ex = Assert.Throws<Exception>(() => manager.LoadStartup("Microsoft.AspNet.Hosting.Tests", "Boom"));
Assert.True(ex.Message.Contains("ConfigureBoom or Configure method not found")); Assert.True(ex.Message.Contains("ConfigureBoom or Configure method not found"));

View File

@ -22,7 +22,7 @@ namespace Microsoft.AspNet.Hosting.Tests
builder.UseServices(serviceCollection => { }); builder.UseServices(serviceCollection => { });
var optionsAccessor = builder.ApplicationServices.GetService<IOptions<object>>(); var optionsAccessor = builder.ApplicationServices.GetRequiredService<IOptions<object>>();
Assert.NotNull(optionsAccessor); Assert.NotNull(optionsAccessor);
} }
@ -41,7 +41,7 @@ namespace Microsoft.AspNet.Hosting.Tests
}); });
Assert.Same(serviceProvider, builder.ApplicationServices); Assert.Same(serviceProvider, builder.ApplicationServices);
var optionsAccessor = builder.ApplicationServices.GetService<IOptions<object>>(); var optionsAccessor = builder.ApplicationServices.GetRequiredService<IOptions<object>>();
Assert.NotNull(optionsAccessor); Assert.NotNull(optionsAccessor);
} }
} }

View File

@ -61,7 +61,7 @@ namespace Microsoft.AspNet.TestHost
{ {
TestServer server = TestServer.Create(app => TestServer server = TestServer.Create(app =>
{ {
var env = app.ApplicationServices.GetService<IHostingEnvironment>(); var env = app.ApplicationServices.GetRequiredService<IHostingEnvironment>();
Assert.Equal(Path.GetFullPath("testroot"), env.WebRoot); Assert.Equal(Path.GetFullPath("testroot"), env.WebRoot);
}); });
} }