Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Net:网络上的反应流_C#_Akka.net_Akka.net Streams - Fatal编程技术网

C# Net:网络上的反应流

C# Net:网络上的反应流,c#,akka.net,akka.net-streams,C#,Akka.net,Akka.net Streams,我正在尝试在中分别实现源作为源和接收器作为远程,然后将接收器作为源和源作为远程,类型1和类型2工作流 类型1创建一个SourceRef,并将其作为传入数据的公开源传递给远程参与者。类型2创建一个SinkRef,并将其作为公开的接收器传递给远程参与者,以开始向其发送数据。为了进一步解释,我将Type 1()和Type 2()工作流都上传到GitHub上 类型1工作流已设置并正常工作,但类型2工作流有故障。我已经将问题缩小到DataReceiveractor中的Receive()方法。成功创建接收器

我正在尝试在中分别实现源作为源和接收器作为远程,然后将接收器作为源和源作为远程,类型1和类型2工作流

类型1创建一个
SourceRef
,并将其作为传入数据的公开源传递给远程参与者。类型2创建一个
SinkRef
,并将其作为公开的接收器传递给远程参与者,以开始向其发送数据。为了进一步解释,我将Type 1()和Type 2()工作流都上传到GitHub上

类型1工作流已设置并正常工作,但类型2工作流有故障。我已经将问题缩小到
DataReceiver
actor中的
Receive()
方法。成功创建接收器后,使用
PipeTo()
方法将流和接收器(通过
measurementsinkready
消息)发送给源参与者

有人能指出我在Type 2工作流中可能出错的地方吗?我已经用尽了所有其他选择(;,各种博客和视频等)。我不知道从这里到哪里去,任何帮助都将不胜感激

多谢各位

编辑(根据评论添加额外信息)


数据永远不会在两个参与者之间远程发送,这就是问题所在。使用类型1,将建立一个
SourceRef
,并发送给远程参与者。远程参与者接收此消息。但是,对于类型2,会创建
SinkRef
,但不会到达远程参与者。
因此,我假设问题在于
SinkRef
PipeTo()
方法的生成。这是因为如果您在参与者之间发送消息,它会工作,但如果消息的条件是
SinkRef
设置正确,然后设置出现了问题。

这是Akka.Streams实现中的一个错误-从v1.4.14开始,此问题已得到修复:

您没有告诉您遇到了什么问题。数据从未在两个参与者之间远程发送,这就是问题所在。使用类型1,将建立一个
SourceRef
,并发送给远程参与者。远程参与者接收此消息。但是,对于类型2,会创建
SinkRef
,但不会到达远程参与者。因此,我假设问题在于
SinkRef
PipeTo()
方法的生成。这是因为如果您在参与者之间发送消息,它会起作用,但是如果消息的条件是
SinkRef
设置正确,那么设置中会出现问题。有人有什么想法吗?我没有主意,真的需要一些帮助。你有什么代码要点/代码片段可以分享,我们可以用来重现你的问题吗?嗨@Greg,请查看上面包含问题的GitHub页面。如上所述,问题已缩小到
DataReceiver
actor中的
Receive()
方法。如果已测试修复程序,则可以确认它现在正在工作。非常感谢。很高兴听到这个消息!