【发布时间】:2021-10-09 09:03:42
【问题描述】:
我有两个演员 - childActor 和 parentActor
open System
open Akka
open Akka.FSharp
let systemActor = System.create "systemActor" <| Configuration.defaultConfig()
let childActor (mailbox: Actor<_>) =
let rec loop() = actor {
let! message = mailbox.Receive()
printfn "Message received"
return! loop()
}
loop()
let parentActor (mailbox: Actor<_>) =
let rec loop() = actor {
let! message = mailbox.Receive()
printfn "Message received"
return! loop()
}
loop()
我可以使用 spawn 函数创建父actor引用。
let parentRef = spawn systemActor "parentActor" parentActor
现在我要做的是在父actor下创建子actor引用。如下所示。
let childRef = spawn parentRef "childActor" childActor
但这不起作用。 spawn 函数需要 IActorRefFactory 类型的参数,因此它不接受 IActorRef。有什么方法可以在akka.net中使用F#在父actor下创建子actor?
【问题讨论】:
标签: f# akka akka.net actor-model