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

标签 c# akka.net

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

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

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

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

出了什么问题?

最佳答案

听起来您解决了 DeadLetters 问题。要回答您原来的问题:要在 ReceiveActor 中接收任何消息,请使用 ReceiveAny( docs ),如下所示:

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

关于c# - 如何在 Akka.Net Receive Actor 中接收任何类型的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31826104/

相关文章:

c# - 为什么我应该将 Sender 闭包与 PipeTo() 一起使用?

c# - Xamarin : @(Content) build action is not supported

c# - MDI WinForm 应用程序的奇怪任务栏行为

c# - 将实现转换为具有泛型类型的接口(interface)

f# - 为什么我的 Actor 没有收到消息?

akka - 如何对 Actor 集合进行查询

.net - 系统.IO.FileLoadException : The given assembly name or codebase was invalid

c# - 我应该如何等待 akka.net 中另一个 Actor 的消息回复?

c# - 重载是在 C# 中拥有默认函数参数的唯一方法吗?

c# - 用C#移动数组中的元素