diff --git a/src/Microsoft.AspNet.Mvc.Core/DefaultControllerActivator.cs b/src/Microsoft.AspNet.Mvc.Core/DefaultControllerActivator.cs
index a3846764f2..391b98ef64 100644
--- a/src/Microsoft.AspNet.Mvc.Core/DefaultControllerActivator.cs
+++ b/src/Microsoft.AspNet.Mvc.Core/DefaultControllerActivator.cs
@@ -89,7 +89,7 @@ namespace Microsoft.AspNet.Mvc
valueAccessor = (actionContext) =>
{
var serviceProvider = actionContext.HttpContext.RequestServices;
- return serviceProvider.GetService(property.PropertyType);
+ return serviceProvider.GetRequiredService(property.PropertyType);
};
}
diff --git a/src/Microsoft.AspNet.Mvc.Core/Filters/ServiceFilterAttribute.cs b/src/Microsoft.AspNet.Mvc.Core/Filters/ServiceFilterAttribute.cs
index 4d7b2292d1..f6cdd54703 100644
--- a/src/Microsoft.AspNet.Mvc.Core/Filters/ServiceFilterAttribute.cs
+++ b/src/Microsoft.AspNet.Mvc.Core/Filters/ServiceFilterAttribute.cs
@@ -4,6 +4,7 @@
using System;
using System.Diagnostics;
using Microsoft.AspNet.Mvc.Core;
+using Microsoft.Framework.DependencyInjection;
namespace Microsoft.AspNet.Mvc
{
@@ -22,7 +23,7 @@ namespace Microsoft.AspNet.Mvc
public IFilter CreateInstance([NotNull] IServiceProvider serviceProvider)
{
- var service = serviceProvider.GetService(ServiceType);
+ var service = serviceProvider.GetRequiredService(ServiceType);
var filter = service as IFilter;
if (filter == null)
diff --git a/src/Microsoft.AspNet.Mvc.Core/Injector.cs b/src/Microsoft.AspNet.Mvc.Core/Injector.cs
index 8e8f8d17ba..3860da7bb3 100644
--- a/src/Microsoft.AspNet.Mvc.Core/Injector.cs
+++ b/src/Microsoft.AspNet.Mvc.Core/Injector.cs
@@ -25,7 +25,7 @@ namespace Microsoft.AspNet.Mvc
var args =
initializeMethod.GetParameters()
- .Select(p => services.GetService(p.ParameterType))
+ .Select(p => services.GetRequiredService(p.ParameterType))
.ToArray();
initializeMethod.Invoke(obj, args);
diff --git a/src/Microsoft.AspNet.Mvc.Core/Internal/MvcServicesHelper.cs b/src/Microsoft.AspNet.Mvc.Core/Internal/MvcServicesHelper.cs
index aee7841999..6e8a55b37c 100644
--- a/src/Microsoft.AspNet.Mvc.Core/Internal/MvcServicesHelper.cs
+++ b/src/Microsoft.AspNet.Mvc.Core/Internal/MvcServicesHelper.cs
@@ -20,7 +20,7 @@ namespace Microsoft.AspNet.Mvc.Internal
/// The type of service which needs to be searched for.
public static void ThrowIfMvcNotRegistered(IServiceProvider services)
{
- if (services.GetServiceOrNull(typeof(MvcMarkerService)) == null)
+ if (services.GetService(typeof(MvcMarkerService)) == null)
{
throw new InvalidOperationException(Resources.FormatUnableToFindServices(
"IServiceCollection.AddMvc()",
diff --git a/src/Microsoft.AspNet.Mvc.Core/ViewComponents/DefaultViewComponentActivator.cs b/src/Microsoft.AspNet.Mvc.Core/ViewComponents/DefaultViewComponentActivator.cs
index 9a17d44f7e..67e8c9f728 100644
--- a/src/Microsoft.AspNet.Mvc.Core/ViewComponents/DefaultViewComponentActivator.cs
+++ b/src/Microsoft.AspNet.Mvc.Core/ViewComponents/DefaultViewComponentActivator.cs
@@ -6,6 +6,7 @@ using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Reflection;
using Microsoft.AspNet.Mvc.Rendering;
+using Microsoft.Framework.DependencyInjection;
namespace Microsoft.AspNet.Mvc
{
@@ -73,7 +74,7 @@ namespace Microsoft.AspNet.Mvc
valueAccessor = (viewContext) =>
{
var serviceProvider = viewContext.HttpContext.RequestServices;
- var service = serviceProvider.GetService(property.PropertyType);
+ var service = serviceProvider.GetRequiredService(property.PropertyType);
if (typeof(ICanHasViewContext).IsAssignableFrom(property.PropertyType))
{
((ICanHasViewContext)service).Contextualize(viewContext);
diff --git a/src/Microsoft.AspNet.Mvc.Razor/DefaultTagHelperActivator.cs b/src/Microsoft.AspNet.Mvc.Razor/DefaultTagHelperActivator.cs
index 6667e86390..d575e85d95 100644
--- a/src/Microsoft.AspNet.Mvc.Razor/DefaultTagHelperActivator.cs
+++ b/src/Microsoft.AspNet.Mvc.Razor/DefaultTagHelperActivator.cs
@@ -6,6 +6,7 @@ using System.Collections.Concurrent;
using System.Reflection;
using Microsoft.AspNet.Mvc.Rendering;
using Microsoft.AspNet.Razor.Runtime.TagHelpers;
+using Microsoft.Framework.DependencyInjection;
namespace Microsoft.AspNet.Mvc.Razor
{
@@ -52,7 +53,7 @@ namespace Microsoft.AspNet.Mvc.Razor
valueAccessor = (viewContext) =>
{
var serviceProvider = viewContext.HttpContext.RequestServices;
- var service = serviceProvider.GetService(property.PropertyType);
+ var service = serviceProvider.GetRequiredService(property.PropertyType);
var contextable = service as ICanHasViewContext;
contextable?.Contextualize(viewContext);
diff --git a/src/Microsoft.AspNet.Mvc.Razor/RazorPageActivator.cs b/src/Microsoft.AspNet.Mvc.Razor/RazorPageActivator.cs
index 9572a19892..74dd98d87f 100644
--- a/src/Microsoft.AspNet.Mvc.Razor/RazorPageActivator.cs
+++ b/src/Microsoft.AspNet.Mvc.Razor/RazorPageActivator.cs
@@ -97,7 +97,7 @@ namespace Microsoft.AspNet.Mvc.Razor
valueAccessor = context =>
{
var serviceProvider = context.HttpContext.RequestServices;
- var value = serviceProvider.GetService(property.PropertyType);
+ var value = serviceProvider.GetRequiredService(property.PropertyType);
var canHasViewContext = value as ICanHasViewContext;
if (canHasViewContext != null)
{
diff --git a/test/Microsoft.AspNet.Mvc.Core.Test/DefaultControllerActivatorTest.cs b/test/Microsoft.AspNet.Mvc.Core.Test/DefaultControllerActivatorTest.cs
index 5090ecf08e..0edc0555a5 100644
--- a/test/Microsoft.AspNet.Mvc.Core.Test/DefaultControllerActivatorTest.cs
+++ b/test/Microsoft.AspNet.Mvc.Core.Test/DefaultControllerActivatorTest.cs
@@ -5,6 +5,7 @@
using System;
using Microsoft.AspNet.Http;
using Microsoft.AspNet.Mvc.ModelBinding;
+using Microsoft.AspNet.Mvc.Rendering;
using Microsoft.AspNet.Routing;
using Moq;
using Xunit;
@@ -17,12 +18,16 @@ namespace Microsoft.AspNet.Mvc.Core.Test
public void Activate_SetsPropertiesFromActionContextHierarchy()
{
// Arrange
+ var services = new Mock();
+ services.Setup(s => s.GetService(typeof(IUrlHelper)))
+ .Returns(Mock.Of());
+
var httpRequest = Mock.Of();
var httpContext = new Mock();
httpContext.SetupGet(c => c.Request)
.Returns(httpRequest);
httpContext.SetupGet(c => c.RequestServices)
- .Returns(Mock.Of());
+ .Returns(services.Object);
var routeContext = new RouteContext(httpContext.Object);
var controller = new TestController();
var context = new ActionContext(routeContext, new ActionDescriptor())
@@ -44,13 +49,17 @@ namespace Microsoft.AspNet.Mvc.Core.Test
public void Activate_SetsViewDatDictionary()
{
// Arrange
- var service = new Mock();
- service.Setup(s => s.GetService(typeof(IModelMetadataProvider)))
- .Returns(Mock.Of());
+ var services = new Mock();
+ services.Setup(s => s.GetService(typeof(IModelMetadataProvider)))
+ .Returns(Mock.Of());
+ services.Setup(s => s.GetService(typeof(ICompositeViewEngine)))
+ .Returns(Mock.Of());
+ services.Setup(s => s.GetService(typeof(IUrlHelper)))
+ .Returns(Mock.Of());
var httpContext = new Mock();
httpContext.SetupGet(c => c.RequestServices)
- .Returns(service.Object);
+ .Returns(services.Object);
var routeContext = new RouteContext(httpContext.Object);
var controller = new TestController();
var context = new ActionContext(routeContext, new ActionDescriptor())
@@ -71,13 +80,13 @@ namespace Microsoft.AspNet.Mvc.Core.Test
{
// Arrange
var urlHelper = Mock.Of();
- var service = new Mock();
- service.Setup(s => s.GetService(typeof(IUrlHelper)))
- .Returns(urlHelper);
+ var services = new Mock();
+ services.Setup(s => s.GetService(typeof(IUrlHelper)))
+ .Returns(urlHelper);
var httpContext = new Mock();
httpContext.SetupGet(c => c.RequestServices)
- .Returns(service.Object);
+ .Returns(services.Object);
var routeContext = new RouteContext(httpContext.Object);
var controller = new TestController();
var context = new ActionContext(routeContext, new ActionDescriptor())
@@ -97,11 +106,15 @@ namespace Microsoft.AspNet.Mvc.Core.Test
public void Activate_IgnoresPropertiesThatAreNotDecoratedWithActivateAttribute()
{
// Arrange
+ var services = new Mock();
+ services.Setup(s => s.GetService(typeof(IUrlHelper)))
+ .Returns(Mock.Of());
+
var httpContext = new Mock();
httpContext.SetupGet(c => c.Response)
.Returns(Mock.Of());
httpContext.SetupGet(c => c.RequestServices)
- .Returns(Mock.Of());
+ .Returns(services.Object);
var routeContext = new RouteContext(httpContext.Object);
var controller = new TestController();
var context = new ActionContext(routeContext, new ActionDescriptor())
diff --git a/test/Microsoft.AspNet.Mvc.Core.Test/DefaultViewComponentActivatorTests.cs b/test/Microsoft.AspNet.Mvc.Core.Test/DefaultViewComponentActivatorTests.cs
index df5613a144..50a2bc9789 100644
--- a/test/Microsoft.AspNet.Mvc.Core.Test/DefaultViewComponentActivatorTests.cs
+++ b/test/Microsoft.AspNet.Mvc.Core.Test/DefaultViewComponentActivatorTests.cs
@@ -25,6 +25,7 @@ namespace Microsoft.AspNet.Mvc
var helper = Mock.Of>();
var serviceProvider = new Mock();
serviceProvider.Setup(p => p.GetService(typeof(IHtmlHelper