Внедрение зависимостей с помощью простого инжектора и .Net Core - PullRequest
0 голосов
/ 11 октября 2018

Я сталкиваюсь с ошибкой «Невозможно разрешить службу для типа« MassTransit.IBusControl »при попытке активировать PCNDmzWeb.Api.Services.MassTransitHostedService». »

Я использую стандартный код дляЯдро MVC с некоторыми незначительными изменениями. В методе Configure services у меня есть следующее:

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc();

    _container.RegisterInstance<IBusControl>(
        Bus.Factory.CreateUsingRabbitMq(sbc =>
        {
            var host = sbc.Host("localhost", "dev", h =>
            {
                h.Username("guest");
                h.Password("guest");
            });
            sbc.ReceiveEndpoint(host, "job_results_queue", e =>
            {
                e.Consumer<StoreJobResultsConsumer>();
            });
        }));

    services.AddScoped<IHostedService, MassTransitHostedService>();

    IntegrateSimpleInjector(services);
}

Не похоже, что экземпляр BusControl создается. Похоже, сообщение указывает, что ошибкапроисходит в результате внедрения зависимостей Microsoft Extensions. Что я делаю неправильно?, ISet 1 callSiteChain, ParameterInfo[] parameters, Boolean throwIfCallSiteNotFound) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateConstructorCallSite(Type serviceType, Type implementationType, ISet 1 callSiteChain) в Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.TryCreateExact (дескриптор ServiceDescriptor, тип serviceType, ISet 1 callSiteChain) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.TryCreateEnumerable(Type serviceType, ISet 1 callSiteChain) в Microsoft.Extensions.DependencyInite.allLisCaseCerviceeCallSite (тип serviceType, ISet 1 callSiteChain) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateArgumentCallSites(Type serviceType, Type implementationType, ISet 1, callSiteChain, параметры ParameterInfo [], Boolean throwIfCallSiteNotFound) в Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateConstructorCallSite * вызов MicrosoftTypeSite * 1, реализация типа ISTIC4, тип ISTT4, реализация типа ISTypeinSite 1, реализация типа ISTypeinSite 1, реализация типа ISTypeinSite 1, реализация типа ISTypeinSite 1, реализация типа IST4.DependencyInjection.ServiceLookup.CallSiteFactory., TArg] (ConcurrentDictionary 2 dictionary, TKey key, Func 3 valueFactory, TArg arg) в Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService (Тип serviceType) в Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService.Service.Tervice.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService [T] (поставщик IServiceProvider) в Microsoft.AspNetCore.Hosting.Internal.WebHost.d__26.MoveNext () --- Конец трассировки стека из предыдущего расположения, где было сгенерировано исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Задача) в Microsoft.AspNetCore.Hosting.WebHostExtensions.d__5.MoveNext () --- Конец стека отслеживается из предыдущего местоположения, где исключение было выбранов System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача-задача) в Microsoft.AspNetCore.Hosting.WebHostExtensions.d__4.где было сгенерировано исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Задача) в Microsoft.AspNetCore.Hosting.WebHostExtensions.Run (хост IWebHost) на PCNDmzWeb.Api.Program.Main (аргументы String []) в C: \ myapp \ PCNDmzWeb.Api \ Program.cs: строка 17

...