7

我正在尝试为我的所有演员实现某种控制台编写器。这是我的代码:

class ConsoleWriterActor : ReceiveActor
{
    public ConsoleWriterActor()
    {
        Receive<object>(s =>
        {
            Console.WriteLine(s.ToString());
        }
    }
}

问题是,不知何故,演员没有收到任何消息。我从控制台得到了这个日志:

[INFO][8/5/2015 7:30:06 AM][Thread 0013 [akka://SPBOActorSystem/user/ConsoleWriterActor] Message StartDbOperator from akka://SPBOActorSystem/user/DbOperatorActor to akka://SPBOActorSystem/user/ConsoleWriterActor was not delivered. 1 dead letters encountered.    

什么地方出了错 ?

4

1 回答 1

9

听起来你解决了这个DeadLetters问题。要回答您的原始问题:要在 a 中接收任何消息ReceiveActor,请使用ReceiveAnydocs),如下所示:

class ConsoleWriterActor : ReceiveActor
{
    public ConsoleWriterActor()
    {
        ReceiveAny(o => Console.WriteLine("Received object: " + o));
    }
}
于 2015-08-05T17:24:53.087 回答