/// <summary> /// Replace the default filter attribute filter provider with an instance /// of this type. /// </summary> /// <param name="filterProviders">The global filter provider collection.</param> public static void Install(FilterProviderCollection filterProviders) { if (filterProviders == null) throw new ArgumentNullException("filterProviders"); var existing = filterProviders.OfType<FilterAttributeFilterProvider>().SingleOrDefault(); if (existing != null) filterProviders.Remove(existing); filterProviders.Add(new ImportCapableFilterAttributeFilterProvider()); }
public static IWindsorContainer InstallMvcFilterProvider( [NotNull] this FilterProviderCollection filterProviders, [NotNull] IWindsorContainer container, [CanBeNull] TypePropertyDescriptorCache propertyDescriptorCache) { if (filterProviders == null) { throw new ArgumentNullException(nameof(filterProviders)); } if (container == null) { throw new ArgumentNullException(nameof(container)); } var attributeFilterProviders = filterProviders.OfType <FilterAttributeFilterProvider>().ToArray(); foreach (var attributeFilterProvider in attributeFilterProviders) { filterProviders.Remove(attributeFilterProvider); } filterProviders.Add(new WindsorFilterAttributeProvider(container, propertyDescriptorCache)); return(container); }