我有一个演员系统,其中在从域外部调用的域中实现了主管演员
调用主管角色的功能必须等到收到主管的响应后才能进行下一步
使用Tell不可能。使用Ask,主管角色如何将消息发送回呼叫功能?


我使用了“询问”,但由于没有演员调用主管演员,因此不会返回任何内容

var result = await supervisorActor.Ask(msg);


在主管演员内部以返回ack(这不起作用)

private Unit Handle(Unit msg)
        => msg;

最佳答案

根据https://getakka.net/articles/actors/inbox.html,您应该能够使用Inbox类与actor系统外部的actor进行交互。

var target = system.ActorOf(Props.Empty);
var inbox = Inbox.Create(system);

inbox.Send(target, "hello");

try
{
    inbox.Receive(TimeSpan.FromSeconds(1)).Equals("world");
}
catch (TimeoutException)
{
    // timeout
}

关于c# - 从函数中调用Akka.Net Actor并取回确认,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55836581/

10-10 16:15