using Core.RabbitMQBus.Common; using Core.RabbitMQBus.EventBus; using Core.RabbitMQBus.Log; using Microsoft.Extensions.DependencyInjection; using System; namespace Core.RabbitMQBus.Extensions { public static class ServiceCollectionExtension { /// <summary> /// 注入RabbitMQ /// </summary> /// <param name="services"></param> /// <param name="options"></param> public static void RegisterRabbitMQ(this IServiceCollection services, Action<RabbitMQOptions> options) { services.Configure(options); services.AddSingleton<ILoggerHelper, ExceptionLessLogger>(); services.AddSingleton<IConnectionChannel, ConnectionChannel>(); services.AddSingleton<ISerializer, SwifterJsonSerializer>(); services.AddSingleton<IRabbitMqPublisher, RabbitMqPublisher>(); services.AddSingleton<IRabbitMqSubscriber, RabbitMqSubscriber>(); } } }