2017-05-21 24 views
1

我與演員刪除有困難時期。我已經創建了自定義的基礎服務,以便在我的Actor系統上啓用備份,不幸的是,RunAsync中的Task.Delay()禁止我從actor刪除(DeleteActorAsync掛起)。Azure服務結構 - 刪除自定義服務的演員

我RunAsync定製服務具有施工簡單:

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

就是這樣。當我刪除延遲並替換爲標準base.RunAsync()actor刪除運行沒有問題。

有人可以提出一些建議嗎?我無法在文檔中找到任何可用的東西。

回答

0

我設法找到ActorService源代碼中的問題(儘管它已經在ActorService.RunAsync()的代碼備註中)。

你必須運行base.RunAsync(...)如果重寫此定製實現:)

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

這就是全部。現在一切都完美了!

+0

你可能應該這樣做:'await base.RunAsync(cancellationToken);' – VMAtm

+0

@VMAtm是的,我編輯了答案。我忘了在那裏等待。謝謝! – michajas