哪种 actor.Tell 方法更可取,为什么?
Which actor.Tell method is preferable and why?
我想知道默认情况下应该使用哪种 Tell 方法?
文档位于
http://getakka.net/docs/working-with-actors/sending-messages
提示 Tell(message, sender) 是发送消息的首选方式,但是查看 Akka.Net 代码,似乎 Tell(message) 无论如何都会调用两个参数版本并填充发件人字段自动地。
除了使用 Tell 的两个参数版本(更少的 ifs)调用更简单的代码之外,还有其他原因为什么应该使用它而不是单个参数版本(从 actor 内部调用时)?
我倾向于以完成手头任务所需的最少依赖项来调用事物。
除此之外。您所指的文章实际上是在说支持 Tell over Ask<>。我不认为其目的是指定更适合使用哪种重载。通常您会使用 Sender ,因为您希望响应转到不同的演员。
调用 Tell(blah, Self)
似乎非常多余,这可能就是存在过载的原因。您需要注意的是,当您从一个您没有从测试中引用 Self 或合适的 Sender EG 的地方进行讲述时。
另一个常见的场景是在服务层,在这里(即系统的表面)如果需要同步响应,你会经常发现 Ask<> 是合适的。那篇文章的重点是指出反应式系统通常不想同步(基于请求),所以你应该在整个过程中都有基于告诉的路径(例如,在 web 上下文中到 Rx 集线器)
我想知道默认情况下应该使用哪种 Tell 方法?
文档位于
http://getakka.net/docs/working-with-actors/sending-messages
提示 Tell(message, sender) 是发送消息的首选方式,但是查看 Akka.Net 代码,似乎 Tell(message) 无论如何都会调用两个参数版本并填充发件人字段自动地。
除了使用 Tell 的两个参数版本(更少的 ifs)调用更简单的代码之外,还有其他原因为什么应该使用它而不是单个参数版本(从 actor 内部调用时)?
我倾向于以完成手头任务所需的最少依赖项来调用事物。
除此之外。您所指的文章实际上是在说支持 Tell over Ask<>。我不认为其目的是指定更适合使用哪种重载。通常您会使用 Sender ,因为您希望响应转到不同的演员。
调用 Tell(blah, Self)
似乎非常多余,这可能就是存在过载的原因。您需要注意的是,当您从一个您没有从测试中引用 Self 或合适的 Sender EG 的地方进行讲述时。
另一个常见的场景是在服务层,在这里(即系统的表面)如果需要同步响应,你会经常发现 Ask<> 是合适的。那篇文章的重点是指出反应式系统通常不想同步(基于请求),所以你应该在整个过程中都有基于告诉的路径(例如,在 web 上下文中到 Rx 集线器)