从函数调用 Akka.Net Actor 并返回确认
Calling Akka.Net Actor from function and get back Acknowledgement
我有一个 actor 系统,其中在域中实现了一个从域外调用的主管 actor
调用supervisor actor的函数必须等到收到supervisor的响应才能进行下一步
无法使用 Tell。使用 Ask,supervisor actor 如何将消息发送回调用函数?
我用过"Ask"但是因为没有actor调用supervisor actor,所以什么都没有returned
var result = await supervisorActor.Ask(msg);
在 supervisor actor 内部 return 返回 ack(这不起作用)
private Unit Handle(Unit msg)
=> msg;
根据 https://getakka.net/articles/actors/inbox.html,您应该能够使用 Inbox
class 与 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
}
我有一个 actor 系统,其中在域中实现了一个从域外调用的主管 actor
调用supervisor actor的函数必须等到收到supervisor的响应才能进行下一步
无法使用 Tell。使用 Ask,supervisor actor 如何将消息发送回调用函数?
我用过"Ask"但是因为没有actor调用supervisor actor,所以什么都没有returned
var result = await supervisorActor.Ask(msg);
在 supervisor actor 内部 return 返回 ack(这不起作用)
private Unit Handle(Unit msg)
=> msg;
根据 https://getakka.net/articles/actors/inbox.html,您应该能够使用 Inbox
class 与 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
}