我有两个演员 - 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 函数创建父演员参考。
let parentRef = spawn systemActor "parentActor" parentActor
现在我在这里要做的是在父actor下创建子actor引用。像下面的东西。
let childRef = spawn parentRef "childActor" childActor
但这不起作用。spawn 函数需要 IActorRefFactory 类型的参数,因此它不接受 IActorRef。有没有办法使用 F# 在 akka.net 中的父演员下创建一个子演员?