private Queue( MessageSender sender, MessageReceiver receiver, MessageSerializer messageSerializer, string queueName, IQueueInstance queueInstance) : base(receiver) { _messageSender = sender; _messageSerializer = messageSerializer; QueueInstance = queueInstance; QueueName = queueName; }
public static async Task <IQueue> ForAsync(AzureServiceBusConfiguration configuration, MessageSerializer messageSerializer, IQueueInstance queue) { var queueName = Conventions.QueuePath(queue.Name); var namespaceManager = NamespaceManager.CreateFromConnectionString(configuration.ConnectionString); if (!namespaceManager.QueueExists(queueName)) { await namespaceManager.CreateQueueAsync(queueName); } var messagingFactory = MessagingFactory.CreateFromConnectionString(configuration.ConnectionString); var sender = await messagingFactory.CreateMessageSenderAsync(queueName); var receiver = await messagingFactory.CreateMessageReceiverAsync(queueName, ReceiveMode.PeekLock); return(new Queue(sender, receiver, messageSerializer, queueName, queue)); }
public Task <IQueue> FromAsync(IQueueInstance queue) { return(Queue.ForAsync(_configuration, _messageSerializer, queue)); }