Я пытаюсь зарегистрировать custom model binder
в asp.net(core 3.0)
startup.cs
на основе следующих примеров:
Ссылка 1
Ссылка 2
Приведенный ниже код не работает в asp.net core 3.0
, может кто-нибудь, пожалуйста, помогите - спасибо!
services.AddMvc()
.AddMvcOptions(options =>
{
IHttpRequestStreamReaderFactory readerFactory = services.BuildServiceProvider().GetRequiredService<IHttpRequestStreamReaderFactory>();
options.ModelBinderProviders.Insert(0, new NtBodyModelBinderProvider(options.InputFormatters, readerFactory));
});
Я получаю следующую ошибку, когда я пытаюсь запустить ПРИЛОЖЕНИЕ.
System.AggregateException HResult = 0x80131500 Сообщение = Некоторые службы не могут быть построены (Ошибка при проверке дескриптора службы 'ServiceType: Microsoft.AspNetCore. Mvc .ModelBinding.IModelBinderProvider Срок службы: область применения: тип реализации: CustomerCa sh .External.Api.ModelBinders.NtBodyModelBinderProvider ': невозможно разрешить службу для типа' System.Collections.Generi c .IList 1[Microsoft.AspNetCore.Mvc.Formatters.IInputFormatter]' while attempting to activate 'CustomerCash.External.Api.ModelBinders.NtBodyModelBinderProvider'.) (Error while validating the service descriptor 'ServiceType: Microsoft.AspNetCore.Mvc.ModelBinding.IModelBinder Lifetime: Scoped ImplementationType: CustomerCash.External.Api.ModelBinders.NtBodyModelBinder': Unable to resolve service for type 'System.Collections.Generic.IList
1 [Microsoft.AspNetCore. Mvc .Formatters.IInputFormatter] ', в то время как попытка активировать 'CustomerCa sh .External.Api.ModelBinders.NtBodyModelBinder'.) Source = Microsoft.Extensions.DependencyInjection StackTrace: в Microsoft.Extensions.DependencyInjection. ServiceProvider..ctor (IEnumerable 1 serviceDescriptors, ServiceProviderOptions options)
at Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions.BuildServiceProvider(IServiceCollection services, ServiceProviderOptions options)
at Microsoft.Extensions.DependencyInjection.DefaultServiceProviderFactory.CreateServiceProvider(IServiceCollection containerBuilder)
at Microsoft.Extensions.Hosting.Internal.ServiceFactoryAdapter
1.CreateServiceProvider (Object containerBuilder) в Microsoft.Extensions.Hosting.HostBuilder.CreateServiceProvider () в Microsoft.Extensions.Hosting.HostBuilder.Build () в CustomerCa sh .External. Program.Main (String [] args) в C: \ Development \ JamesHay \ jhcode \ CustomerCashExternal \ src \ CustomerCa sh .External.Api \ Program.cs: строка 11
Это исключение изначально было генерируется в этом стеке вызовов: [Внешний код]
Внутреннее исключение 1: InvalidOperationException: Ошибка при проверке дескриптора службы 'ServiceType: Microsoft.AspNetCore. Mvc .ModelBinding.IModelBinderProvider Время жизни: определенная область реализации Тип клиента: CustomerCa sh .External.Api.ModelBinders.NtBodyModelBinderProvider ': невозможно разрешить службу для типа' System.Collections.Generi c .IList`1 [Microsoft.AspNetCore. Mvc .Formatters.IInputFormatter] 'при попытке активировать' CustomerCa sh .External.Api.ModelBinders.NtBodyModelBinderProvider '.
Внутреннее исключение 2: InvalidOperationException: Невозможно разрешить службу для типа 'System.Collections.Generi c .IList`1 [Microsoft.AspNetCore. Mvc .Formatters.IInputFormatter]' при попытке активировать 'CustomerCa sh. External.Api.ModelBinders.NtBodyModelBinderProvider.