EasyNetQ (AMQP) Соединение одного приложения в ASP.NET? - PullRequest
0 голосов
/ 29 октября 2018

Сообщество:

Я пытаюсь выяснить, как создать одно соединение AMQP, которое соответствует жизненному циклу моего приложения ASP.NET в ASP.NET с использованием .NET Core 2.1. После исследования я нашел много ссылок на использование одного соединения AMQP для всего приложения, поскольку они дорогостоящие и медленные в создании, и я шел по пути создания соединения с использованием DI, но, похоже, мой подход некорректен, я не могу определить, какой интерфейс мне нужно добавить как синглтон ...

public void ConfigureServices(IServiceCollection services)
        {
            var sqlConnectionStringBuilder = new SqlConnectionStringBuilder(Configuration.GetConnectionString("DefaultConnection"));
            var envSQL = Environment.GetEnvironmentVariable("ASPNETCORE_SQL_SERVER");
            if (envSQL != null)
                sqlConnectionStringBuilder.DataSource = envSQL;

            services.AddSingleton<IMessageBusService, MessageBusService>();
            services.AddSingleton<EasyNetQ.IAdvancedBus, RabbitAdvancedBus>();
            services.AddSingleton<EasyNetQ.IConnectionFactory, ConnectionFactoryWrapper>();

            services.AddMvc();

        }

Добавление указанных выше интерфейсов работает, но я получаю сообщение об ошибке, что служба ConnectionConfiguration не может быть обнаружена. Это правильное направление или есть более правильный способ создания единого приложения после подключения EasyNetQ в ядре ASP.NET?

...