Сообщество:
Я изо всех сил пытаюсь понять, как создать одно соединение 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?