我试图发送包含MessageData< byte []>的集合的消息。我使用MassTransit.MessageData.Enchilada包作为MessageData存储库。但是当我尝试在消费服务中获取MessageData的值时,我得到了一个异常。
MassTransit.MessageDataException:未加载邮件数据。
消息
public interface ISendMail
{
MessageData<byte[]> Attachment { get; }
MessageData<byte[]>[] Attachments { get; }
string AttachmentFileName { get; }
string HtmlBody { get; }
string Subject { get; set; }
string TextBody { get; }
IEnumerable<IEmailAddress> To { get; }
}
使用消息:
if (context.Message.Attachment.HasValue)
{
var attachmentData = await context.Message.Attachment.Value;
}
if (context.Message.Attachments.AnySafe())
{
foreach (MessageData<byte[]> messageAttachment in context.Message.Attachments)
{
byte[] data = await messageAttachment.Value;
await Console.Out.WriteLineAsync($"Attachment size: {data.Length}");
}
}
单个MessageData&lt; byte []&gt;工作正常,但是当我尝试从集合中获取数据时,我得到了Exception。