将一组MessageData对象添加到消息中

时间:2018-04-05 08:40:08

标签: c# masstransit

我试图发送包含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。

0 个答案:

没有答案