Bagikan melalui


Hapus Aktor andal dan statusnya

Pengumpulan sampah actor yang dinonaktifkan hanya membersihkan objek actor, tetapi tidak menghapus data yang disimpan di State Manager actor. Ketika actor diaktifkan kembali, datanya kembali tersedia untuk itu melalui State Manager. Dalam kasus di mana actor menyimpan data di State Manager dan dinonaktifkan tetapi tidak pernah diaktifkan kembali, mungkin perlu untuk membersihkan data mereka.

Actor Service menyediakan fungsi untuk menghapus actor dari pemanggil jarak jauh:

ActorId actorToDelete = new ActorId(id);

IActorService myActorServiceProxy = ActorServiceProxy.Create(
    new Uri("fabric:/MyApp/MyService"), actorToDelete);

await myActorServiceProxy.DeleteActorAsync(actorToDelete, cancellationToken)
ActorId actorToDelete = new ActorId(id);

ActorService myActorServiceProxy = ActorServiceProxy.create(
    new Uri("fabric:/MyApp/MyService"), actorToDelete);

myActorServiceProxy.deleteActorAsync(actorToDelete);

Menghapus actor memiliki efek berikut, bergantung pada apakah actor saat ini aktif atau tidak:

  • Actor Aktif
    • Aktor dihapus dari daftar actor aktif dan dinonaktifkan.
    • Statusnya dihapus secara permanen.
  • Actor Tidak Aktif
    • Statusnya dihapus secara permanen.

Suatu actor tidak dapat memanggil utnuk menghapus sendiri dari salah satu metode actornya karena actor tidak dapat dihapus saat mengeksekusi dalam konteks panggilan actor, saat runtime telah memperoleh key di sekitar panggilan actor untuk menerapkan akses single-thread.

Untuk informasi selengkapnya tentang Reliable Actor, baca yang berikut ini: