public ControllerActionInvoker( [NotNull] ActionContext actionContext, [NotNull] INestedProviderManager <FilterProviderContext> filterProvider, [NotNull] IControllerFactory controllerFactory, [NotNull] ControllerActionDescriptor descriptor, [NotNull] IInputFormattersProvider inputFormatterProvider, [NotNull] IControllerActionArgumentBinder controllerActionArgumentBinder, [NotNull] IModelBinderProvider modelBinderProvider, [NotNull] IModelValidatorProviderProvider modelValidatorProviderProvider, [NotNull] IValueProviderFactoryProvider valueProviderFactoryProvider, [NotNull] IScopedInstance <ActionBindingContext> actionBindingContextAccessor) : base( actionContext, filterProvider, inputFormatterProvider, modelBinderProvider, modelValidatorProviderProvider, valueProviderFactoryProvider, actionBindingContextAccessor) { _descriptor = descriptor; _controllerFactory = controllerFactory; _argumentBinder = controllerActionArgumentBinder; if (descriptor.MethodInfo == null) { throw new ArgumentException( Resources.FormatPropertyOfTypeCannotBeNull("MethodInfo", typeof(ControllerActionDescriptor)), "descriptor"); } }
public static ParameterBinder GetParameterBinder( IModelMetadataProvider metadataProvider, IModelBinderProvider binderProvider = null, MvcOptions mvcOptions = null, ObjectModelValidator validator = null) { var services = GetServices(metadataProvider, mvcOptions: mvcOptions); var options = services.GetRequiredService <IOptions <MvcOptions> >(); if (binderProvider != null) { options.Value.ModelBinderProviders.Insert(0, binderProvider); } validator ??= new DefaultObjectValidator( metadataProvider, new[] { new CompositeModelValidatorProvider(GetModelValidatorProviders(options)) }, options.Value); return(new ParameterBinder( metadataProvider, new ModelBinderFactory(metadataProvider, options, services), validator, options, NullLoggerFactory.Instance)); }
public void GetBinderDelegatesToResolver() { // Arrange Type modelType = typeof(string); IModelBinder expectedBinder = new Mock <IModelBinder>().Object; Mock <IModelBinderProvider> locatedProvider = new Mock <IModelBinderProvider>(); locatedProvider.Setup(p => p.GetBinder(modelType)) .Returns(expectedBinder); Mock <IModelBinderProvider> secondProvider = new Mock <IModelBinderProvider>(); Mock <IModelBinderProvider> thirdProvider = new Mock <IModelBinderProvider>(); IModelBinderProvider[] dependencyProviders = new IModelBinderProvider[] { locatedProvider.Object, secondProvider.Object }; IModelBinderProvider[] collectionProviders = new IModelBinderProvider[] { thirdProvider.Object }; Mock <IDependencyResolver> resolver = new Mock <IDependencyResolver>(); resolver.Setup(r => r.GetServices(typeof(IModelBinderProvider))).Returns(dependencyProviders); ModelBinderProviderCollection providers = new ModelBinderProviderCollection(collectionProviders, resolver.Object); // Act IModelBinder returnedBinder = providers.GetBinder(modelType); // Assert Assert.Same(expectedBinder, returnedBinder); }
public void ModelBinderProviderCollectionCombinedItemsDelegatesToResolver() { // Arrange var firstProvider = new Mock <IModelBinderProvider>(); var secondProvider = new Mock <IModelBinderProvider>(); var thirdProvider = new Mock <IModelBinderProvider>(); var dependencyProviders = new IModelBinderProvider[] { firstProvider.Object, secondProvider.Object }; var collectionProviders = new IModelBinderProvider[] { thirdProvider.Object }; var expectedProviders = new IModelBinderProvider[] { firstProvider.Object, secondProvider.Object, thirdProvider.Object }; var resolver = new Mock <IDependencyResolver>(); resolver .Setup(r => r.GetServices(typeof(IModelBinderProvider))) .Returns(dependencyProviders); var providers = new ModelBinderProviderCollection(collectionProviders, resolver.Object); // Act IModelBinderProvider[] combined = providers.CombinedItems; // Assert Assert.Equal(expectedProviders, combined); }
public static void AddAuthenticatedUserIdAwareBodyModelBinderProvider(this MvcOptions options) { IModelBinderProvider bodyModelBinderProvider = options.ModelBinderProviders.Single(x => x is BodyModelBinderProvider); int index = options.ModelBinderProviders.IndexOf(bodyModelBinderProvider); options.ModelBinderProviders.Remove(bodyModelBinderProvider); options.ModelBinderProviders.Insert(index, new AuthenticatedUserIdAwareBodyModelBinderProvider(bodyModelBinderProvider)); }
public ClaimsMappingModelBinderProvider(IModelBinderProvider decoratedModelBinderProvider, ICommandClaimsBinderProvider commandClaimsBinderProvider, BindingSource bindingSource) { _decoratedModelBinderProvider = decoratedModelBinderProvider; _commandClaimsBinderProvider = commandClaimsBinderProvider; _bindingSource = bindingSource; }
/// <summary> /// Adds configuration based REST commanding to ASP.Net Core /// </summary> /// <param name="mvcBuilder">The MVC Builder extended</param> /// <param name="configurationBuilder">An action accepting a configuration builder</param> /// <returns>The MVC builder</returns> public static IMvcBuilder AddAspNetCoreCommanding(this IMvcBuilder mvcBuilder, Action <IRestCommandBuilder> configurationBuilder) { RestCommandBuilder restCommandBuilderInstance = new RestCommandBuilder(); configurationBuilder(restCommandBuilderInstance); restCommandBuilderInstance.SetDefaults(); // When the user has completed defining their command based API through the builder we compile controllers, using Roslyn, using the definitions // that have been supplied ISyntaxTreeCompiler syntaxTreeCompiler = new SyntaxTreeCompiler(restCommandBuilderInstance.TemplateCompilationReferences); IControllerTemplateCompiler controllerTemplateCompiler = new HandlebarsControllerTemplateCompiler(restCommandBuilderInstance.ExternalTemplateProvider); IControllerCompiler controllerCompiler = new ControllerCompiler( controllerTemplateCompiler, syntaxTreeCompiler, restCommandBuilderInstance.ConstructedCodeLogger, true); Assembly assembly = controllerCompiler.Compile( restCommandBuilderInstance.ControllerBuilder.Controllers.Values.ToArray(), restCommandBuilderInstance.OutputNamespace); mvcBuilder.AddApplicationPart(assembly); // We pre-compile claim to command mappers for each kind of command in use - these are used by the model binders below ICommandClaimsBinderProvider commandClaimsBinderProvider = restCommandBuilderInstance.ClaimsMappingBuilder.Build(restCommandBuilderInstance.GetRegisteredCommandTypes()); IReadOnlyCollection <MemberInfo> blacklistedMembers = restCommandBuilderInstance.GetSecurityPropertyMembers(); // Here we add model binders that are able to map claims onto commands. These deliberately can write to the SecurityProperty marked attribute // of commands as these are very likely to come from claims. Binders are registered for body, path (URI), and query strings. // These wrap the appropriate underlying binder so that the actual model binding takes place using the existing built in binders. mvcBuilder .AddMvcOptions(options => { IModelBinderProvider bodyModelBinderProvider = options.ModelBinderProviders.Single(x => x is BodyModelBinderProvider); IModelBinderProvider complexTypeModelBinderProvider = options.ModelBinderProviders.Single(x => x is ComplexTypeModelBinderProvider); options.ModelBinderProviders.Insert(0, new ClaimsMappingModelBinderProvider(complexTypeModelBinderProvider, commandClaimsBinderProvider, BindingSource.Query)); options.ModelBinderProviders.Insert(0, new ClaimsMappingModelBinderProvider(complexTypeModelBinderProvider, commandClaimsBinderProvider, BindingSource.Path)); options.ModelBinderProviders.Insert(0, new ClaimsMappingModelBinderProvider(bodyModelBinderProvider, commandClaimsBinderProvider, BindingSource.Body)); options.ModelMetadataDetailsProviders.Add(new SecurityPropertyBindingMetadataProvider()); }) .AddJsonOptions(options => { // Because the binding model metadata is ignored on bodyies we have to customize the // serializer and instruct it to ignore the SecurityProperty marked attributes options.SerializerSettings.ContractResolver = new JsonSecurityPropertyContractResolver(); }); return(mvcBuilder); }
public void IgnoreEmptyModelBindingProvidersCollection(ModelBinderInspector sut, IInspectorContext context, IModelBinderProvider proxy) { ModelBinderProviders.BinderProviders.Clear(); context.ProxyFactory.Setup(pf => pf.IsWrapInterfaceEligible<IModelBinderProvider>(It.IsAny<Type>())).Returns(true); context.ProxyFactory.Setup(pf => pf.WrapInterface(It.IsAny<IModelBinderProvider>(), It.IsAny<IEnumerable<IAlternateMethod>>(), Enumerable.Empty<object>())).Returns(proxy); sut.Setup(context); Assert.Empty(ModelBinderProviders.BinderProviders); }
public void UpdateModelBindingProviders(ModelBinderInspector sut, IInspectorContext context, IModelBinderProvider proxy) { ModelBinderProviders.BinderProviders.Add(new DummyModelBinderProvider()); context.ProxyFactory.Setup(pf => pf.IsWrapInterfaceEligible<IModelBinderProvider>(It.IsAny<Type>())).Returns(true); context.ProxyFactory.Setup(pf => pf.WrapInterface(It.IsAny<IModelBinderProvider>(), It.IsAny<IEnumerable<IAlternateMethod>>(), Enumerable.Empty<object>())).Returns(proxy); sut.Setup(context); Assert.Contains(proxy, ModelBinderProviders.BinderProviders); context.Logger.Verify(l => l.Info(It.IsAny<string>(), It.IsAny<object[]>())); }
public static void AddStringTrimmingProvider(this MvcOptions option) { IModelBinderProvider binderToFind = option.ModelBinderProviders.FirstOrDefault(x => x.GetType() == typeof(SimpleTypeModelBinderProvider)); if (binderToFind == null) { return; } int index = option.ModelBinderProviders.IndexOf(binderToFind); option.ModelBinderProviders.Insert(index, new TrimmingModelBinderProvider()); }
public static ParameterBinder GetParameterBinder( MvcOptions options = null, IModelBinderProvider binderProvider = null) { if (options == null) { var metadataProvider = TestModelMetadataProvider.CreateDefaultProvider(); return(GetParameterBinder(metadataProvider, binderProvider)); } else { var metadataProvider = TestModelMetadataProvider.CreateProvider(options.ModelMetadataDetailsProviders); return(GetParameterBinder(metadataProvider, binderProvider, options)); } }
public static DefaultControllerArgumentBinder GetArgumentBinder( MvcOptions options = null, IModelBinderProvider binderProvider = null) { if (options == null) { var metadataProvider = TestModelMetadataProvider.CreateDefaultProvider(); return(GetArgumentBinder(metadataProvider, binderProvider)); } else { var metadataProvider = TestModelMetadataProvider.CreateProvider(options.ModelMetadataDetailsProviders); return(GetArgumentBinder(metadataProvider, binderProvider)); } }
public static DefaultControllerArgumentBinder GetArgumentBinder( IModelMetadataProvider metadataProvider, IModelBinderProvider binderProvider = null) { var services = GetServices(); var options = services.GetRequiredService <IOptions <MvcOptions> >(); if (binderProvider != null) { options.Value.ModelBinderProviders.Insert(0, binderProvider); } return(new DefaultControllerArgumentBinder( metadataProvider, new ModelBinderFactory(metadataProvider, options), GetObjectValidator(metadataProvider, options))); }
public void Configure(MvcOptions options) { options.ModelMetadataDetailsProviders.Add(new Validation.ValidationMetadataProvider()); int bcount = 0; IModelBinderProvider res = null, prev = null; foreach (var b in options.ModelBinderProviders) { if (b is SimpleTypeModelBinderProvider || b is FloatingPointTypeModelBinderProvider) { res = b; break; } bcount++; prev = b; } if (res != null) { options.ModelBinderProviders.Remove(res); options.ModelBinderProviders.Insert(bcount, new SimpleTypeModelBinderProviderExt()); if (prev != null && !(prev is HeaderModelBinderProvider)) { options.ModelBinderProviders.Remove(prev); } } bcount = 0; res = null; foreach (var b in options.ModelBinderProviders) { if (b is ComplexTypeModelBinderProvider) { res = b; break; } bcount++; } if (res != null) { options.ModelBinderProviders.Remove(res); options.ModelBinderProviders.Insert(bcount, new TransformationModelBinderProvider(res, new InterfacesModelBinderProvider(serviceProvider.GetService <IDIMeta>()))); //options.ModelBinderProviders.Insert(bcount, new InterfacesModelBinderProvider()); } options.Filters.Add(typeof(CacheViewPartsFilter)); }
public void ModelBinderProviderCollectionCombinedItemsCaches() { // Arrange var providers = new IModelBinderProvider[] { new Mock <IModelBinderProvider>(MockBehavior.Strict).Object, new Mock <IModelBinderProvider>(MockBehavior.Strict).Object }; var collection = new ModelBinderProviderCollection(providers); // Act var combined1 = collection.CombinedItems; var combined2 = collection.CombinedItems; // Assert Assert.Equal(providers, combined1); Assert.Same(combined1, combined2); }
public FilterActionInvoker( [NotNull] ActionContext actionContext, [NotNull] INestedProviderManager <FilterProviderContext> filterProvider, [NotNull] IInputFormattersProvider inputFormatterProvider, [NotNull] IModelBinderProvider modelBinderProvider, [NotNull] IModelValidatorProviderProvider modelValidatorProviderProvider, [NotNull] IValueProviderFactoryProvider valueProviderFactoryProvider, [NotNull] IScopedInstance <ActionBindingContext> actionBindingContextAccessor) { ActionContext = actionContext; _filterProvider = filterProvider; _inputFormatterProvider = inputFormatterProvider; _modelBinderProvider = modelBinderProvider; _modelValidatorProviderProvider = modelValidatorProviderProvider; _valueProviderFactoryProvider = valueProviderFactoryProvider; _actionBindingContextAccessor = actionBindingContextAccessor; }
public void ModelBinderProviderCollectionCombinedItemsCaches() { // Arrange var providers = new IModelBinderProvider[] { new Mock<IModelBinderProvider>(MockBehavior.Strict).Object, new Mock<IModelBinderProvider>(MockBehavior.Strict).Object }; var collection = new ModelBinderProviderCollection(providers); // Act var combined1 = collection.CombinedItems; var combined2 = collection.CombinedItems; // Assert Assert.Equal(providers, combined1); Assert.Same(combined1, combined2); }
public ControllerActionInvokerProvider( IControllerFactory controllerFactory, IInputFormattersProvider inputFormattersProvider, INestedProviderManager <FilterProviderContext> filterProvider, IControllerActionArgumentBinder argumentBinder, IModelBinderProvider modelBinderProvider, IModelValidatorProviderProvider modelValidationProviderProvider, IValueProviderFactoryProvider valueProviderFactoryProvider, IScopedInstance <ActionBindingContext> actionBindingContextAccessor) { _controllerFactory = controllerFactory; _inputFormattersProvider = inputFormattersProvider; _filterProvider = filterProvider; _argumentBinder = argumentBinder; _modelBinderProvider = modelBinderProvider; _modelValidationProviderProvider = modelValidationProviderProvider; _valueProviderFactoryProvider = valueProviderFactoryProvider; _actionBindingContextAccessor = actionBindingContextAccessor; }
public ModuleActionInvokerProvider( IModuleFactory moduleFactory, IEnumerable<IFilterProvider> filterProviders, IInputFormattersProvider inputFormattersProvider, IModelBinderProvider modelBinderProvider, IModelValidatorProviderProvider modelValidatorProviderProvider, IValueProviderFactoryProvider valueProviderFactoryProvider, IScopedInstance<ActionBindingContext> actionBindingContextAccessor, IServiceProvider serviceProvider) { _moduleFactory = moduleFactory; _filterProviders = filterProviders.OrderBy(p => p.Order).ToList(); _inputFormattersProvider = inputFormattersProvider; _modelBinderProvider = modelBinderProvider; _modelValidatorProviderProvider = modelValidatorProviderProvider; _valueProviderFactoryProvider = valueProviderFactoryProvider; _actionBindingContextAccessor = actionBindingContextAccessor; _serviceProvider = serviceProvider; }
public static ParameterBinder GetParameterBinder( IModelMetadataProvider metadataProvider, IModelBinderProvider binderProvider = null, MvcOptions mvcOptions = null) { var services = GetServices(); var options = mvcOptions != null ? Options.Create(mvcOptions) : services.GetRequiredService <IOptions <MvcOptions> >(); if (binderProvider != null) { options.Value.ModelBinderProviders.Insert(0, binderProvider); } return(new ParameterBinder( metadataProvider, GetModelBinderFactory(metadataProvider, options), new CompositeModelValidatorProvider(GetModelValidatorProviders(options)))); }
/// <summary> 替换 </summary> /// <typeparam name="T"></typeparam> /// <param name="providers"></param> /// <param name="target"></param> /// <param name="exist">必须存在</param> public static void Replace <T>(this IList <IModelBinderProvider> providers, IModelBinderProvider target, bool exist = true) where T : IModelBinderProvider { var source = providers.FirstOrDefault(t => t is T); if (exist && source == null) { return; } if (source != null) { var index = providers.IndexOf(source); providers.RemoveAt(index); providers.Insert(index, target); } else { providers.Add(target); } }
public ControllerActionInvokerProvider( IControllerFactory controllerFactory, IInputFormattersProvider inputFormattersProvider, IEnumerable<IFilterProvider> filterProviders, IControllerActionArgumentBinder argumentBinder, IModelBinderProvider modelBinderProvider, IModelValidatorProviderProvider modelValidationProviderProvider, IValueProviderFactoryProvider valueProviderFactoryProvider, IScopedInstance<ActionBindingContext> actionBindingContextAccessor, ITempDataDictionary tempData) { _controllerFactory = controllerFactory; _inputFormattersProvider = inputFormattersProvider; _filterProviders = filterProviders.OrderBy(item => item.Order).ToArray(); _argumentBinder = argumentBinder; _modelBinderProvider = modelBinderProvider; _modelValidationProviderProvider = modelValidationProviderProvider; _valueProviderFactoryProvider = valueProviderFactoryProvider; _actionBindingContextAccessor = actionBindingContextAccessor; _tempData = tempData; }
public ControllerActionInvokerProvider( IControllerFactory controllerFactory, IInputFormattersProvider inputFormattersProvider, IEnumerable <IFilterProvider> filterProviders, IControllerActionArgumentBinder argumentBinder, IModelBinderProvider modelBinderProvider, IModelValidatorProviderProvider modelValidationProviderProvider, IValueProviderFactoryProvider valueProviderFactoryProvider, IScopedInstance <ActionBindingContext> actionBindingContextAccessor, ITempDataDictionary tempData) { _controllerFactory = controllerFactory; _inputFormattersProvider = inputFormattersProvider; _filterProviders = filterProviders.OrderBy(item => item.Order).ToArray(); _argumentBinder = argumentBinder; _modelBinderProvider = modelBinderProvider; _modelValidationProviderProvider = modelValidationProviderProvider; _valueProviderFactoryProvider = valueProviderFactoryProvider; _actionBindingContextAccessor = actionBindingContextAccessor; _tempData = tempData; }
public void ModelBinderProviderCollectionCombinedItemsDelegatesToResolver() { // Arrange var firstProvider = new Mock<IModelBinderProvider>(); var secondProvider = new Mock<IModelBinderProvider>(); var thirdProvider = new Mock<IModelBinderProvider>(); var dependencyProviders = new IModelBinderProvider[] { firstProvider.Object, secondProvider.Object }; var collectionProviders = new IModelBinderProvider[] { thirdProvider.Object }; var expectedProviders = new IModelBinderProvider[] { firstProvider.Object, secondProvider.Object, thirdProvider.Object }; var resolver = new Mock<IDependencyResolver>(); resolver.Setup(r => r.GetServices(typeof(IModelBinderProvider))).Returns(dependencyProviders); var providers = new ModelBinderProviderCollection(collectionProviders, resolver.Object); // Act IModelBinderProvider[] combined = providers.CombinedItems; // Assert Assert.Equal(expectedProviders, combined); }
public void UpdateModelBindingProviders(ModelBinderInspector sut, IInspectorContext context, IModelBinderProvider proxy) { ModelBinderProviders.BinderProviders.Add(new DummyModelBinderProvider()); context.ProxyFactory.Setup(pf => pf.IsWrapInterfaceEligible <IModelBinderProvider>(It.IsAny <Type>())).Returns(true); context.ProxyFactory.Setup(pf => pf.WrapInterface(It.IsAny <IModelBinderProvider>(), It.IsAny <IEnumerable <IAlternateMethod> >(), Enumerable.Empty <object>())).Returns(proxy); sut.Setup(context); Assert.Contains(proxy, ModelBinderProviders.BinderProviders); context.Logger.Verify(l => l.Info(It.IsAny <string>(), It.IsAny <object[]>())); }
public PaginationModelBinderProvider(IModelBinderProvider workerProvider) { _workerProvider = workerProvider; }
public CustomValidationModelBinderProvider(IModelBinderProvider underlyingModelBinderProvider) { _underlyingModelBinderProvider = underlyingModelBinderProvider; }
public SortsModelBinderProvider(IModelBinderProvider workerProvider) { _workerProvider = workerProvider; }
public GlimpseBinderProvider(IModelBinderProvider binderProvider, IGlimpseLogger logger) { BinderProvider = binderProvider; Logger = logger; }
public GlimpseBinderProvider(IModelBinderProvider binderProvider) { BinderProvider = binderProvider; }
public RouteDataComplexTypeModelBinderProvider(IModelBinderProvider complexTypeModelBinderProvider, IHttpContextAccessor httpContextAccessor) { _httpContextAccessor = httpContextAccessor; _complexTypeModelBinderProvider = complexTypeModelBinderProvider; }
public void GetBinderDelegatesToResolver() { // Arrange Type modelType = typeof(string); IModelBinder expectedBinder = new Mock<IModelBinder>().Object; Mock<IModelBinderProvider> locatedProvider = new Mock<IModelBinderProvider>(); locatedProvider.Setup(p => p.GetBinder(modelType)) .Returns(expectedBinder); Mock<IModelBinderProvider> secondProvider = new Mock<IModelBinderProvider>(); Mock<IModelBinderProvider> thirdProvider = new Mock<IModelBinderProvider>(); IModelBinderProvider[] dependencyProviders = new IModelBinderProvider[] { locatedProvider.Object, secondProvider.Object }; IModelBinderProvider[] collectionProviders = new IModelBinderProvider[] { thirdProvider.Object }; Mock<IDependencyResolver> resolver = new Mock<IDependencyResolver>(); resolver.Setup(r => r.GetServices(typeof(IModelBinderProvider))).Returns(dependencyProviders); ModelBinderProviderCollection providers = new ModelBinderProviderCollection(collectionProviders, resolver.Object); // Act IModelBinder returnedBinder = providers.GetBinder(modelType); // Assert Assert.Same(expectedBinder, returnedBinder); }
/// <summary> /// Initialise a new instance of <see cref="ExaminationValidationModelBinderProvider"/>. /// </summary> /// <param name="originalModelBinderProvider">Original Model Binder Provider.</param> public ExaminationValidationModelBinderProvider(IModelBinderProvider originalModelBinderProvider) { _originalModelBinderProvider = originalModelBinderProvider; }
public void IgnoreEmptyModelBindingProvidersCollection(ModelBinderInspector sut, IInspectorContext context, IModelBinderProvider proxy) { ModelBinderProviders.BinderProviders.Clear(); context.ProxyFactory.Setup(pf => pf.IsWrapInterfaceEligible <IModelBinderProvider>(It.IsAny <Type>())).Returns(true); context.ProxyFactory.Setup(pf => pf.WrapInterface(It.IsAny <IModelBinderProvider>(), It.IsAny <IEnumerable <IAlternateMethod> >(), Enumerable.Empty <object>())).Returns(proxy); sut.Setup(context); Assert.Empty(ModelBinderProviders.BinderProviders); }
public TestControllerActionInvoker( ActionContext actionContext, IFilterProvider[] filterProvider, MockControllerFactory controllerFactory, ControllerActionDescriptor descriptor, IInputFormattersProvider inputFormattersProvider, IControllerActionArgumentBinder controllerActionArgumentBinder, IModelBinderProvider modelBinderProvider, IModelValidatorProviderProvider modelValidatorProviderProvider, IValueProviderFactoryProvider valueProviderFactoryProvider, IScopedInstance<ActionBindingContext> actionBindingContext, ITempDataDictionary tempData) : base( actionContext, filterProvider, controllerFactory, descriptor, inputFormattersProvider, controllerActionArgumentBinder, modelBinderProvider, modelValidatorProviderProvider, valueProviderFactoryProvider, actionBindingContext, tempData) { ControllerFactory = controllerFactory; }
public FiltersModelBinderProvider(IModelBinderProvider workerProvider) { _workerProvider = workerProvider; }
public AuthenticatedUserIdAwareBodyModelBinderProvider(IModelBinderProvider decoratedProvider) { _decoratedProvider = decoratedProvider; }
public GenericSearchModelBinderProvider(IModelBinderProvider fallbackModelBinderProvider) => this.fallbackModelBinderProvider = fallbackModelBinderProvider;
/// <summary> /// Initializes a new instance of the CompositeModelBinder class. /// </summary> /// <param name="modelBindersProvider">Provides a collection of <see cref="IModelBinder"/> instances.</param> public CompositeModelBinder(IModelBinderProvider modelBindersProvider) { _modelBindersProvider = modelBindersProvider; }