我想从其层级外部访问某些父演员的子演员。我可以使用ActorSelection
并直接定位路径,但是子actor可能不存在。通过其父节点传递消息意味着,父节点可以在必要时安全地创建和停止actor。
我现在面临的问题是,我正在处理与该I / O绑定的子角色。并且由于此消息现在通过父角色传递,因此父角色受这些昂贵的询问请求的束缚,从而阻止了它处理其其他消息。我在父级上将接收处理程序设置如下:
Receive<GetThings>(
message =>
{
GetOrCreateChildActor()
.Ask(message)
.PipeTo(Sender);
}
);
如何在不阻止父级演员的情况下通过此询问请求实现管道传递?
我想从其层级外部访问某些父演员的子演员。我可以使用ActorSelection并直接定位路径,但是子actor可能不存在。传递消息...
Ask
方法本身不会阻止任何参与者。它所做的只是充当参与者样式的消息传递和基于任务的完成机制之间的转换器。