我使用Rebus.Async发送请求。收到后,使用者会回复大量数据,并使用Rebus.AzureBlobs将其上传到Azure Blob存储。
发送方收到回复并尝试读取附件。当发生这种情况时,Rebus抛出一个异常:
没有可用的消息上下文--您是否尝试打开数据总线附件,以便在消息处理程序之外读取?
当然,我故意在消息处理程序之外打开附件,因为我使用的是Rebus.Async。然而,这似乎是不支持的。
有什么方法可以让数据总线与Rebus.Async回复一起工作吗?
发布于 2019-10-21 06:52:47
您应该能够简单地传递附件ID (来自从Id返回的DataBusAttachment的DataBusAttachment属性),然后您就可以传递该属性了。
var dataBus = bus.Advanced.DataBus;
using (var source = await dataBus.OpenRead(attachmentId))
{
// do your thing :)
}https://stackoverflow.com/questions/58477823
复制相似问题