orleans - 如何进行多个隐式流订阅?
问题描述
我尝试通过多个流命名空间使用 ImplicitStreamSubscription 但得到异常:
无法在 d03d6cb5-a003-aea5-0b51-84aa320b7d9f 上为流 test-0bc2df02-4205-4fbf-ae69-a565c26ab413-test_stream_provider 向消费者传递消息,可以重试。Orleans.Runtime.OrleansException:流类型不匹配。一个流只能支持一种类型的数据。请求的流的通用类型 (System.String) 与先前请求的类型 (Exchange.Model) 不匹配。
我的粒度由两个ImplicitStreamSubscription属性注释。
[ImplicitStreamSubscription(MessageBrokerConstants.Model)]
[ImplicitStreamSubscription(MessageBrokerConstants.TestMessage)]
OnSubscribed 实现:
public async Task OnSubscribed(IStreamSubscriptionHandleFactory handleFactory)
{
var handle = handleFactory.Create<Model>();
await handle.ResumeAsync((data, token) =>
{
Console.WriteLine(data);
return Task.CompletedTask;
});
var handle2 = handleFactory.Create<string>();
await handle2.ResumeAsync((data, token) =>
{
Console.WriteLine(data);
return Task.CompletedTask;
});
}
发生这种情况的原因是什么?
解决方案
推荐阅读
- wxpython - 在 KDE linux 上安装 wxPython 时出错
- google-sheets - 使用独立插件向 Google 表格添加自定义功能
- python - Pandas:如何读取具有多个标题的“非平面”csv?
- web-scraping - 网页抓取/网页抓取在我要抓取的网站上显示 403 错误
- service-worker - Sveltekit Service Worker 后备页面错误
- flutter - 颤动的连接状态。等待无法加载图像
- docker-compose - Minio 安装在 Traefik 后面
- python - 使用 Fast AI 的博客主题创意生成器
- firebase - Android Studio Firebase 云消息传递不起作用?
- python - 将 Python 字典插入另一个字典,生成 .plist 文件?