using MassTransit; using MassTransitDemo.Contracts; namespace MassTransitDemo.Consumer.Consumers; /// /// 发布/订阅模式的消费者1 /// 用于接收并处理广播消息 /// public class PublishSubscribeConsumer1 : IConsumer { private readonly ILogger _logger; /// /// 构造函数 /// /// 日志记录器 public PublishSubscribeConsumer1(ILogger logger) { _logger = logger; } /// /// 消费消息的方法 /// /// 消息上下文 public Task Consume(ConsumeContext context) { try { _logger.LogInformation("【消费者1】收到发布/订阅消息"); _logger.LogInformation(" MessageId: {MessageId}", context.Message.MessageId); _logger.LogInformation(" CreatedAt: {CreatedAt}", context.Message.CreatedAt); _logger.LogInformation(" Title: {Title}", context.Message.Title); _logger.LogInformation(" Content: {Content}", context.Message.Content); _logger.LogInformation(" Priority: {Priority}", context.Message.Priority); // 模拟处理逻辑 _logger.LogInformation("【消费者1】消息处理完成"); return Task.CompletedTask; } catch (Exception ex) { _logger.LogError(ex, "【消费者1】消息处理失败"); throw; } } }