如何从路径创建IActorRef作为字符串?有没有像:
string path = "akka://Somesystem/user/myactor";
IActorRef actorRef = ActorRef.FromPath(path); // this is pseudo-code
actorRef.Tell(...);
我不会膨胀我的消息类/结构体以及具有Akka.net IActorRef类型的显式依赖性的API接口(可能会切换到幕后的Proto.Actor等其他实现)。
答案 0 :(得分:1)
不幸的是没有。创建actor的唯一方法是使用ActorOf
方法。来自docs:
以上部分详细描述的内容可以简单地概括和记忆如下:
ActorOf
只创建一个新的actor,并将其创建为直接的 调用此方法的上下文的子级(可能是 任何演员或演员系统)。ActorSelection
只在传递消息时查找现有的actor,即不创建actor或验证是否存在 创建选择时的演员
ActorOf
{{1}}在创建actor时需要Props属性,并带有actor名称的可选字符串。这可以从演员系统本身或在演员的上下文中调用。
答案 1 :(得分:1)
在你的例子中,你描述了你想通过路径告诉另一个演员一条消息。 因此,您可以使用 ActorSelection 。 有一篇petabridge博客文章描述了 ActorSelection 的一些建议,请参阅:https://petabridge.com/blog/when-should-I-use-actor-selection/
但是,您写道:我不会膨胀我的消息类/结构以及具有显式依赖于Akka.net IActorRef类型的API接口(可能切换到其他实现,如Proto.Actor背后幕布)。
我不明白你当前的用例是什么。但据我所知,您不希望在您的域逻辑中依赖于Akka.net。