Asp. net core 3.0, как зарегистрировать пользовательскую модель подшивки - PullRequest
0 голосов
/ 05 апреля 2020

Я пытаюсь зарегистрировать 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...