简体   繁体   English

如何在Akka.Net接收Actor中接收任何类型的消息

[英]How to receive any type of message in Akka.Net Receive Actor

I'm trying to implement a some sort of console writer for all of my actors. 我正在尝试为我的所有演员实现某种控制台编写器。 Here's my code: 这是我的代码:

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

The problem is, somehow the actor doesnt receive any messages. 问题是,不知何故,演员没有收到任何消息。 I got this log from console: 我从控制台得到了这个日志:

[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.    

What went wrong ? 什么地方出了错 ?

Sounds like you sorted out the DeadLetters question. 听起来像你整理了DeadLetters问题。 To answer your original question: To receive any message in a ReceiveActor , use ReceiveAny ( docs ), like so: 要回答您的原始问题:要在ReceiveActor接收任何消息,请使用ReceiveAnydocs ),如下所示:

class ConsoleWriterActor : ReceiveActor
{
    public ConsoleWriterActor()
    {
        ReceiveAny(o => Console.WriteLine("Received object: " + o));
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM