簡體   English   中英

akka.net是一種獲取或創建演員的方法

[英]akka.net is there a a way to get or create actor

對於我的actor層次結構,在通過幾個actor處理數據之前,我不知道我需要的所有actor,因此我正在尋找一種方法來返回現有的ActorRef或創建一個新的動作。 這就是我希望下面的代碼創建一個actor,如果一個不存在於“my-id-1”或者返回已經存在的那個。

Context.ActorOf(MyActor.Props(message), "my-id-1");

如果actor已經存在,上面的代碼將(如文檔所述)拋出InvalidActorNameException 我怎樣才能在Akka.net中實現這一目標?

您可以使用Context.Child(actorName)方法檢查當前actor是否具有提供名稱的子級。 它將返回目標actor的actor ref(如果存在)或ActorRefs.Nobody如果沒有這樣的actor。

您的案例中的代碼可能如下所示:

var child = Context.Child(actorName);
if (Equals(child, ActorRefs.Nobody))
    child = Context.ActorOf(MyActor.Props(message), actorName);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM