如何使用 Rebus.Async 回复的 Rebus 数据总线附件
How to use Rebus data bus attachments with Rebus.Async replies
我正在使用 Rebus.Async
发送请求。收到后,消费者回复大量数据,并使用 Rebus.AzureBlobs
.
将这些数据上传到 Azure Blob 存储
发件人收到回复并尝试阅读附件。发生这种情况时,Rebus 会抛出异常:
No message context is available - did you try to open a data bus attachment for reading OUTSIDE of a message handler?
当然,我 故意 在消息处理程序之外打开附件,因为我正在使用 Rebus.Async
。但是,这似乎不受支持。
有没有办法让数据总线与 Rebus.Async
回复一起工作?
您应该能够简单地传递附件 ID(CreateAttachment
返回的 DataBusAttachment
中的 Id
属性,然后您可以
var dataBus = bus.Advanced.DataBus;
using (var source = await dataBus.OpenRead(attachmentId))
{
// do your thing :)
}
我正在使用 Rebus.Async
发送请求。收到后,消费者回复大量数据,并使用 Rebus.AzureBlobs
.
发件人收到回复并尝试阅读附件。发生这种情况时,Rebus 会抛出异常:
No message context is available - did you try to open a data bus attachment for reading OUTSIDE of a message handler?
当然,我 故意 在消息处理程序之外打开附件,因为我正在使用 Rebus.Async
。但是,这似乎不受支持。
有没有办法让数据总线与 Rebus.Async
回复一起工作?
您应该能够简单地传递附件 ID(CreateAttachment
返回的 DataBusAttachment
中的 Id
属性,然后您可以
var dataBus = bus.Advanced.DataBus;
using (var source = await dataBus.OpenRead(attachmentId))
{
// do your thing :)
}