public void DeclareQueue(string name) { var connection = _serviceBusConnectionFactory.ResolveServiceBusConnection(); connection.Channel.QueueDeclare(name, false, false, true, null); Name = name; }
public void Subscribe <T>(string queueName, Func <T, IRequestInfo, Task> callback) where T : IServiceBusMessage { var connection = _serviceBusConnectionFactory.ResolveServiceBusConnection(); var consumer = _factory.CreateBasicConsumer(connection.Channel); consumer.Received += (sender, args) => _serviceBusMessageHandler.Handle(sender, args, callback); connection.Channel.BasicConsume(queueName, true, consumer); }
void Publish <T>(T message, IRequestInfo requestInfo, string exchange, string routingKey) where T : IServiceBusMessage { var messageJson = _jsonConvertWrapper.Serialize(message); var requestJson = _jsonConvertWrapper.Serialize(requestInfo); var json = requestJson + "\t" + messageJson; var body = _utf8Wrapper.GetBytes(json); var connection = _serviceBusConnectionFactory.ResolveServiceBusConnection(); connection.Channel.BasicPublish(exchange, routingKey, true, new BasicProperties(), body); _logger.LogInformation($"Published message with key: {routingKey}", "RabbitMq"); }
public void CreateExchange(string name, string type) { var connection = _serviceBusConnectionFactory.ResolveServiceBusConnection(); connection.Channel.ExchangeDeclare(name, type, false, false, null); }