Akka.Net ActorSelection告诉()没有收到远程演员

时间:2016-03-25 21:53:49

标签: akka.net

我正在尝试启动与远程actor的通信,如果远程系统启动并且运行代码工作正常,但是如果在第一次尝试通信时远程系统没有运行,则所有后续尝试也会失败。 / p>

        var system = ActorSystem.Create("myClient");

        string line = null;
        while (line != "x")
        {
            Console.WriteLine("Trying");
            var esb = system.ActorSelection("akka.tcp://myRemoteSystem@localhost:9391" + "/user/myActor");//.ResolveOne(TimeSpan.FromSeconds(10)).Result;
            esb.Tell(new MyMessage());

            line = Console.ReadLine();
        }

我有一个简单的控制台应用程序,每次按Enter键(如上所示)都会尝试与远程系统通信以显示场景。

如果远程系统在此客户端运行之前正在运行,则连接正常。 如果第一次尝试没有运行,然后启动远程系统,则Tell将永远不会到达远程系统。 (或者至少不是在我试过的10多分钟内)

我尝试将隔离时间调整为2秒和门控时间。这些似乎都没有影响。

我还尝试使用类似的结果解析IActorRef,一旦抛出ActorNotFound异常,即使远程系统启动并运行,它也会重复此行为。

我做错了吗?有没有办法在尝试解析远程actor之前判断远程系统是否正在运行。

0 个答案:

没有答案
相关问题