大消息Sender.Forward 133KB

时间:2015-11-20 13:20:05

标签: c# akka.net

我正在尝试发送一个txt文件(大小为133 kB)

public class HelloActor : UntypedActor
{
    public HelloActor()
    {
    }

    protected override void OnReceive(object request)
    {
        var data = System.IO.File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory+"myfile.txt");
        Sender.Forward(data);
    }
}

这是我的客户代码

var actor = System.ActorSelection("HelloActor");
return await actor.Ask<string>(null, TimeSpan.FromHours(1));

这不起作用。

1 个答案:

答案 0 :(得分:1)

您的问题与最大帧大小无关,因为您的演员行为可能根本没有被调用过。假设您使用系统的ActorOf创建了actor并将其命名为 HelloActor ,则代码中的两件事情无效:

  1. 不允许发送null作为消息。请指定一些特定值。此错误实际上打印在错误日志中。
  2. 您的演员选择使用无效路径。对于用户空间中的顶级actor,它将是/user/HelloActor。你会在日志中找到它,因为消息不会到达收件人而是被推入死信。您可以阅读有关演员路径here的更多信息。
相关问题