首页 > 解决方案 > 从 Akka.net 中的路径字符串创建 IActorRef

问题描述

如何从路径创建一个 IActorRef 作为字符串?有没有这样的方法:

string path = "akka://Somesystem/user/myactor";

IActorRef actorRef = ActorRef.FromPath(path); // this is pseudo-code

actorRef.Tell(...);

我不会膨胀我的消息类/结构以及具有对 Akka.net IActorRef 类型的显式依赖的 API 接口(可能会切换到其他实现,例如幕后的 Proto.Actor)。

标签: akka.net

解决方案


不幸的是没有。创建actor的唯一方法是使用ActorOf方法。从文档

以上部分详细描述的内容可以很容易地总结和记忆如下:

  • ActorOf只创建一个新的actor,并将其创建为调用此方法的上下文的直接子级(可以是任何actor或actor系统)。
  • ActorSelection仅在传递消息时查找现有参与者,即不创建参与者,或在创建选择时验证参与者的存在

签名在创建参与者时ActorOf需要一个 Props 属性,参与者名称的可选字符串。这可以从参与者系统本身或参与者的上下文中调用。


推荐阅读