public async Task PublishAsync( string queueName, QueueEvent @event, CancellationToken cancellationToken = default) { var eventName = @event.GetType().Name.Replace(_QUEUEEVENTSUFFIX, string.Empty); var jsonMessage = JsonConvert.SerializeObject(@event); var body = Encoding.UTF8.GetBytes(jsonMessage); var message = new Message { MessageId = Guid.NewGuid().ToString(), Body = body, Label = eventName, }; var client = _connection.CreateClient(queueName); cancellationToken.ThrowIfCancellationRequested(); await client.SendAsync(message); }