Azure Service Fabric - 使用自定义服务

时间:2017-05-21 18:45:26

标签: .net azure task-parallel-library azure-service-fabric

我在删除Actor时遇到了困难。我已经创建了自定义基本服务以在我的Actor系统上启用备份,不幸的是在RunAsync中有Task.Delay()禁止我从actor删除(DeleteActorAsync挂起)。

自定义服务中的My RunAsync构造简单:

protected override async Task RunAsync(CancellationToken cancellationToken)
{
    await Task.Delay(500, cancellationToken);
}

那就是它。当我删除延迟并替换为标准base.RunAsync()时,actor运行没有任何问题。

有人能提出什么建议吗?我无法在文档中找到任何可用的内容。

1 个答案:

答案 0 :(得分:0)

我设法在ActorService源代码中找到问题(虽然它已经在ActorService.RunAsync()的代码备注中。)

如果在自定义实现中覆盖它,则必须运行base.RunAsync(...):)

protected override async Task RunAsync(CancellationToken cancellationToken)
{
    await base.RunAsync(cancellationToken);
    await Task.Delay(500, cancellationToken);
}

这就是全部。现在一切都很完美!