Change GetService calls to GetRequiredService
GetRequiredService throws for missing services like GetService used to.
This commit is contained in:
parent
4efa6a428b
commit
cd90a337ee
|
|
@ -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);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -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");
|
||||||
|
|
|
||||||
|
|
@ -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))
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -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"));
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue