ServiceFabric アプリでは、ステートフルなアクターを何千も作成する必要があるため、役立たなくなったアクターを蓄積しないようにする必要があります。
アクター自体からアクターを削除できないことはわかっていますが、アクターを追跡したりループして削除したりしたくありません。
アクター ランタイムは Garbace コレクションを使用して、非アクティブ化されたアクター オブジェクトを削除します (状態は除きます)。そこで、OnDeactivateAsync() メソッド内の Actor 状態を削除し、通常 60 分後に GC に Actor オブジェクトの割り当てを解除させることを考えていました。
理論的には、このようなことはアクターを削除することと同等のはずですよね?
protected override async Task OnActivateAsync()
{
await this.StateManager.TryRemoveStateAsync("MyState");
}
明示的な削除のみが削除できるものは残っていますか?