我对奥尔良有点陌生,目前使用它来处理传入事件,使用奥尔良流传递给谷物。Orleans 客户端发送到类型为“EventData”的流对象,这些对象在我们使用的单独 nuget 中实现。在 Orleans silo 方面,我们有一个使用 ImplicitStreamSubscription 订阅该流的grain。grain 接口不使用“EventData”,实际上流订阅是该grain 的主要入口点。
我遇到的问题是,当客户端尝试将“EventData”实例发送到流时,我得到一个关于“EventData”类缺少序列化程序的异常。将“EventData”类标记为 [Serializable] 解决了这个问题,但理解不使用 Orleans 的内置专用序列化程序。
如何让 Orleans 为“EventData”使用内置生成的序列化程序?
根据文档,似乎必须将奥尔良模板 nuget 添加到“EventData”装配项目中。真的吗?由于它是在 Orleans 以外的运行时环境中使用的 nuget,因此我想保留它而不引用 orleans。