private void CloseMessagingFactory() { if (_messagingFactory == null) { return; } if (_messagingFactory.IsClosed) { _messagingFactory = null; return; } try { _messagingFactory .CloseAsync() .ContinueWith(task => { var ex = task.Exception; if (ex != null) { InternalLogger.Error("Exception closing MessagingFactory [{0}]", ex); } _messagingFactory = null; }); } catch (Exception ex) { InternalLogger.Error("Couldn't close MessagingFactory [{0}]", ex); } }
protected override void OnAbort() { Microsoft.ServiceBus.Messaging.MessagingFactory messagingFactory = this.MessagingFactory; if (messagingFactory != null) { messagingFactory.Abort(); } }
private async Task CreateClient() { if (_isClosing) { return; } if (_messagingFactory == null || _messagingFactory.IsClosed) { _messagingFactory = await Task <MSSB.MessagingFactory> .Factory .StartNew(() => _isClosing?null : string.IsNullOrEmpty(ConnectionString) ?MSSB.MessagingFactory.Create() : MSSB.MessagingFactory.CreateFromConnectionString(ConnectionString)); } if (_messagingFactory != null) { if (_messageSender == null || _messageSender.IsClosed) { _messageSender = await _messagingFactory.CreateMessageSenderAsync(TopicOrQueueName); } } }