Files
xEventService/Interfaces/IXRabbitMQProducerService.cs
T

34 lines
1.1 KiB
C#

using System;
using System.Threading;
using System.Threading.Tasks;
using xEventService.Models;
namespace xEventService.Interfaces
{
/// <summary>
/// RabbitMQ Producer Service Implementation ...
/// </summary>
public interface IXRabbitMQProducerService : IXProducerServiceBase
{
/// <summary>
/// Sending a Message to Default Exchange ...
/// </summary>
/// <param name="message">
/// an Instance of <see cref="XEventMessage"/> ...
/// </param>
/// <param name="exchange">
/// Target Exchange Name. if empty, uses default from configuration ...
/// </param>
/// <param name="routingKey">
/// Routing Key for message routing ...
/// </param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
Task<bool> SendMessageAsync(
XEventMessage message,
string exchange = null,
string routingKey = null,
CancellationToken cancellationToken = default
);
}
}