[Akka.Net:网络上的反应流

问题描述 投票:1回答:1

我试图分别在AkkaStreamsModel中将Type 1和Type 2工作流程分别实现为源和远程,然后将接收器作为源,将源作为远程。

类型1创建一个SourceRef,并将其作为远程接收方actor的传入数据的公开源传递给远程actor。类型2创建一个SinkRef并将其作为暴露的接收器传递给远程角色,以开始向其发送数据。为了进一步说明,我已经将类型1(AkkaStreams)和类型2(AkkaStreamsFaulty)工作流都上传到GitHub。

类型1工作流程已设置并正常工作,但是类型2工作流程有问题。我将问题缩小到Receive<PrepareUpload>() actor中的DataReceiver方法。成功创建接收器后,将使用MeasurementsSinkReady方法将流和接收器发送(通过PipeTo()消息)到源Actor。

有人能指出我在2型工作流程中哪里出了问题吗?我已经用尽了所有其他选项(Akka.Net DocumentationAkka.Net Gitter,各种博客和视频等)。我不确定从这里要去哪里,任何帮助将不胜感激。

谢谢。

编辑(根据Bartosz Sypytkowski's注释添加了额外的信息)

数据永远不会在两个参与者之间远程发送,这就是问题所在。使用类型1,可以建立SourceRef并将其发送到远程角色。远程参与者收到此消息。但是,对于类型2,创建了SinkRef,但从未到达远程角色。因此,我假设问题出在SinkRefPipeTo()方法的生成上。这是因为,如果您在角色之间发送消息,则该消息有效,但是,如果该消息以正确设置SinkRef为条件,则设置出错。

c# akka.net akka.net-streams
1个回答
0
投票

有人有什么想法吗?我没有主意,可以真正使用一些帮助。

© www.soinside.com 2019 - 2024. All rights reserved.