我在删除Actor时遇到了困难。我已经创建了自定义基本服务以在我的Actor系统上启用备份,不幸的是在RunAsync中有Task.Delay()禁止我从actor删除(DeleteActorAsync挂起)。
自定义服务中的My RunAsync构造简单:
protected override async Task RunAsync(CancellationToken cancellationToken)
{
await Task.Delay(500, cancellationToken);
}
那就是它。当我删除延迟并替换为标准base.RunAsync()时,actor运行没有任何问题。
有人能提出什么建议吗?我无法在文档中找到任何可用的内容。
答案 0 :(得分:0)
我设法在ActorService源代码中找到问题(虽然它已经在ActorService.RunAsync()的代码备注中。)
如果在自定义实现中覆盖它,则必须运行base.RunAsync(...):)
protected override async Task RunAsync(CancellationToken cancellationToken)
{
await base.RunAsync(cancellationToken);
await Task.Delay(500, cancellationToken);
}
这就是全部。现在一切都很完美!