Page History
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
var target = actorSystem.ActorOf<MailBoxActor>("inboxactor"); var inbox = Inbox.Create(actorSystem); try { ///// Sample 1 : 특정 메시지를 받는지 여부 inbox.Send(target, "hello"); bool result = inbox.Receive(TimeSpan.FromSeconds(1)).Equals("world"); Console.WriteLine("result:" + result); //// Sample 2 : 관리대상 target이 종료되는지 여부... inbox.Watch(target); //해당 액터를 inbox에서 감시 target.Tell(PoisonPill.Instance, ActorRefs.NoSender); if( inbox.Receive(TimeSpan.FromSeconds(1)) is Terminated) { Console.WriteLine("target 종료됨.."); } } catch (TimeoutException) { Console.WriteLine("TimeOut"); } |
이경우 Inbox 를 사용하여, 외부에서 복수의 복수의 Actor의 요청결과를 묶어낼수 있습니다.