diff --git a/src/Microsoft.AspNet.Mvc.Core/Filters/DefaultFilterProvider.cs b/src/Microsoft.AspNet.Mvc.Core/Filters/DefaultFilterProvider.cs index f3546c0fea..3d40658dbd 100644 --- a/src/Microsoft.AspNet.Mvc.Core/Filters/DefaultFilterProvider.cs +++ b/src/Microsoft.AspNet.Mvc.Core/Filters/DefaultFilterProvider.cs @@ -6,9 +6,12 @@ namespace Microsoft.AspNet.Mvc.Filters { public class DefaultFilterProvider : INestedProvider { - public DefaultFilterProvider(IServiceProvider serviceProvider) + private readonly ITypeActivator _typeActivator; + + public DefaultFilterProvider(IServiceProvider serviceProvider, ITypeActivator typeActivator) { ServiceProvider = serviceProvider; + _typeActivator = typeActivator; } public int Order @@ -70,8 +73,7 @@ namespace Microsoft.AspNet.Mvc.Filters throw new InvalidOperationException("Type filter must implement IFilter"); } - // TODO: Move activatorUtilities to come from the service provider. - var typeFilter = ActivatorUtilities.CreateInstance(ServiceProvider, typeFilterSignature.ImplementationType) as IFilter; + var typeFilter = _typeActivator.CreateInstance(ServiceProvider, typeFilterSignature.ImplementationType) as IFilter; ApplyFilterToContainer(typeFilter, filter); filterItem.Filter = typeFilter;