我有一个问题,是否可以创建过滤器来防止消费消息? 例如消息是:
public class ProcessingTask : IProcessingTask
{
public int Id { set; get; }
public string ExternalId { set; get; }
public ProcessingTaskStatus Status { set; get; }
public string Details { set; get; }
}
例如,如果消息 Status
是 ProcessingTaskStatus.Received
,我需要将消息传递给消费者。换句话说,消息需要被拒绝。
最佳答案
因此您可以使用 ContentFilter 在消息到达消费者之前过滤掉消息:
configurator.Consumer(() => _consumer, x =>
{
x.ConfigureMessage<IProcessingTask>(v => v.UseContentFilter(async context => context.Message.Status == ProcessingTaskStatus.Received));
});
您必须为每种消息类型设置一个过滤器,它们是单独配置的。
关于c# - 公共(public)交通过滤器在消费时收到消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37242253/