Пример #1
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.Configure <RabbitOptions>(Configuration.GetSection("RabbitMq"));
            var rabbitOptions = Configuration.GetSection("RabbitMq").Get <RabbitOptions>();

            services.AddSingleton <IQueueProvider, RabbitMqProvider>(provider =>
            {
                var credentials = new MqCredentials(rabbitOptions.Credentials.HostName, rabbitOptions.Credentials.UserName,
                                                    rabbitOptions.Credentials.Password, rabbitOptions.QueueName);

                var rabbitProvider = new RabbitMqProvider(credentials, rabbitOptions.QueueName);
                rabbitProvider.Bind();

                //rabbitProvider.Subscribe(ReceiveMessage.GetMes);

                return(rabbitProvider);
            });
            services.AddSingleton <IRabbitService>(new RabbitService(p =>
            {
                p.Credentials = rabbitOptions.Credentials;
                p.AutoDelete  = rabbitOptions.AutoDelete;
                p.QueueName   = rabbitOptions.QueueName;
            }));



            services.AddControllers();
        }
Пример #2
0
 public RabbitMqProvider(MqCredentials credentials, string QueueName)
 {
     _QueueName         = QueueName;
     _connectionFactory = new ConnectionFactory
     {
         HostName = credentials.HostName,
         UserName = credentials.UserName,
         Password = credentials.Password,
         Port     = AmqpTcpEndpoint.UseDefaultPort
     };
 }