2015-05-20 16 views
0

blog談到較少使用ActorSelection選擇一名演員。如何在沒有ActorSelection的情況下從AKKA的深層圖中獲得演員?

我有一個CatalogActorSystem有10000個產品角色。所有這些演員的名字都是他們的ID。如果我需要訪問一個產品ID爲例如Product_5000,不應使用ActorSelection,我必須有一個集合(用字典或ICollection的執行)產品演員在一個演員像CatalogActorsCache和有迭代所有這些來找到正確的。

我不應該使用ActorSelection來定位正確的產品,而不是我的搜索算法或使用字典與產品ID的密鑰?

回答

2

如果您有多個具有相同用途的角色,您可能希望間接訪問它們,即在發件人和收件人之間設置另一個角色。 Akka.NET中的每個演員都收集了它的子女ActorRef s。他們可以通過簡單地使用Child(actorName)返回。因此,您可以將其用於您的優勢,讓該演員(讓我們稱之爲協調員)根據需要產生您的孩子(產品)演員和/或向他們返回參考。

前段時間我創建了an example,這更詳細地說明了這個概念。

+0

Context.Child(actorName)爲我工作。 –

相關問題