c# - 如何将 Rebus 数据总线附件与 Rebus.Async 回复一起使用
问题描述
我Rebus.Async
用来发送请求。收到后,消费者会回复大量数据,并使用Rebus.AzureBlobs
.
发件人收到回复并尝试阅读附件。发生这种情况时,Rebus 会抛出异常:
没有可用的消息上下文 - 您是否尝试打开数据总线附件以读取消息处理程序的 OUTSIDE?
当然,我故意在消息处理程序之外打开附件,因为我使用的是Rebus.Async
. 但是,这似乎不受支持。
有没有办法让数据总线与Rebus.Async
回复一起工作?
解决方案
您应该能够简单地传递附件 ID(返回 from的Id
属性),然后您可以DataBusAttachment
CreateAttachment
var dataBus = bus.Advanced.DataBus;
using (var source = await dataBus.OpenRead(attachmentId))
{
// do your thing :)
}
推荐阅读
- android - Android - 如何确保声音输出不被麦克风拾取
- r - 使用 R 枚举变量
- jenkins - 无法使用 certbot renew/Letsencrypt 续订证书
- html - 如何删除或禁用 CSS 框架类
- sql - 在 Oracle PL/SQL 中获取具有索引而不是列名的字段
- openssl - Openssl - 如何模拟接受密码的服务器
- ios - 后台 CBPeripheral 无法保持可读性
- vue.js - 如何侦听作为 vuejs 中对象的道具的更改
- mapping - Pentaho Data Integration Field 到 Field 数据转换
- javascript - 如何解决 TypeError: Cannot read property 'filter' of undefined error after replace lodash find function with native JS filter function?