Mulai menggunakan Reliable Actor
Artikel ini menjelaskan pembuatan dan debugging aplikasi Reliable Actor sederhana di Visual Studio. Untuk informasi lebih lanjut tentang Reliable Actor, lihat Pengenalan Reliable Actor Service Fabric.
Prasyarat
Sebelum memulai, pastikan Anda memiliki lingkungan pengembangan Service Fabric, termasuk Visual Studio, yang disiapkan di komputer Anda. Untuk detailnya, lihat cara mengatur lingkungan pengembangan.
Membuat proyek baru di Visual Studio
Luncurkan Visual Studio 2019 atau yang lebih baru sebagai administrator, lalu buat proyek Aplikasi Service Fabric baru:
Dalam kotak dialog berikutnya, pilih Layanan Actor di .NET Core 2.0 dan masukkan nama untuk layanan.
Proyek yang dibuat menunjukkan struktur berikut:
Periksa solusinya
Solusinya berisi tiga proyek:
Proyek aplikasi (MyApplication) . Proyek ini mengemas semua layanan bersama-sama untuk penyebaran. Ini berisi skrip ApplicationManifest.xml dan PowerShell untuk mengelola aplikasi.
Proyek antarmuka (HelloWorld.Interfaces) . Proyek ini berisi definisi antarmuka untuk actor. Antarmuka actor dapat didefinisikan dalam proyek apa pun dengan nama apa pun. Antarmuka mendefinisikan kontrak actor yang dibagikan oleh implementasi actor dan klien yang memanggil actor. Karena proyek klien mungkin bergantung padanya, biasanya Anda dapat mendefinisikannya dalam perakitan yang terpisah dari implementasi actor.
Proyek layanan actor (HelloWorld) . Proyek ini mendefinisikan layanan Service Fabric yang akan meng-host bagi actor. Ini berisi implementasi actor, HelloWorld.cs. Implementasi actor adalah kelas yang berasal dari jenis dasar
Actor
dan mengimplementasikan antarmuka yang ditentukan dalam proyek MyActor.Interfaces. Kelas actor juga harus mengimplementasikan konstruktor yang menerima instansActorService
dan instans danActorId
meneruskannya ke kelasActor
dasar.Proyek ini juga berisi Program.cs yang mendaftarkan kelas actor dengan runtime Service Fabric menggunakan
ActorRuntime.RegisterActorAsync<T>()
. KelasHelloWorld
sudah terdaftar. Setiap implementasi actor tambahan yang ditambahkan ke proyek juga harus didaftarkan dalam metodeMain()
.
Sesuaikan actor HelloWorld
Templat proyek mendefinisikan beberapa metode dalam antarmuka IHelloWorld
dan mengimplementasikannya dalam implementasi actor HelloWorld
. Ganti metode tersebut sehingga layanan actor mengembalikan string "Halo Dunia" sederhana.
Dalam proyek HelloWorld.Interfaces, dalam file IHelloWorld.cs, ganti definisi antarmuka sebagai berikut:
public interface IHelloWorld : IActor
{
Task<string> GetHelloWorldAsync();
}
Dalam proyek HelloWorld, di HelloWorld.cs, ganti seluruh definisi kelas sebagai berikut:
[StatePersistence(StatePersistence.Persisted)]
internal class HelloWorld : Actor, IHelloWorld
{
public HelloWorld(ActorService actorService, ActorId actorId)
: base(actorService, actorId)
{
}
public Task<string> GetHelloWorldAsync()
{
return Task.FromResult("Hello from my reliable actor!");
}
}
Tekan Ctrl-Shift-B untuk membangun proyek dan pastikan semuanya dikompilasi.
Menambahkan klien
Buat aplikasi konsol sederhana untuk memanggil layanan actor.
Klik kanan pada solusi di Penjelajah Solusi >Tambahkan>Proyek Baru....
Di jenis proyek .NET Core, pilih Console App (.NET Core) . Beri nama proyek ActorClient.
Catatan
Aplikasi konsol bukan jenis aplikasi yang biasanya Anda gunakan sebagai klien di Service Fabric, tetapi ini merupakan contoh yang mudah untuk debugging dan pengujian menggunakan kluster Service Fabric lokal.
Aplikasi konsol harus berupa aplikasi 64-bit untuk mempertahankan kompatibilitas dengan proyek antarmuka dan dependensi lainnya. Di Penjelajah Solusi, klik kanan proyek ActorClient, lalu klik Properti. Pada tab Build, tetapkan target Platform ke x64.
Proyek klien membutuhkan paket NuGet reliable actor. Klik Alat>NuGet Package Manager>Package Manager Console. Di Package Manager Console, masukkan perintah berikut:
Install-Package Microsoft.ServiceFabric.Actors -IncludePrerelease -ProjectName ActorClient
Paket NuGet dan semua dependensinya dipasang dalam proyek ActorClient.
Proyek klien juga memerlukan referensi ke proyek antarmuka. Dalam proyek ActorClient, klik kanan Dependensi lalu klik Tambahkan Referensi Proyek.... Pilih Proyek > Solusi (jika belum dipilih), lalu centang kotak centang di samping HelloWorld.Interfaces. Klik OK.
Dalam proyek ActorClient, ganti seluruh isi Program.cs dengan kode berikut:
using System; using System.Threading.Tasks; using Microsoft.ServiceFabric.Actors; using Microsoft.ServiceFabric.Actors.Client; using HelloWorld.Interfaces; namespace ActorClient { class Program { static void Main(string[] args) { IHelloWorld actor = ActorProxy.Create<IHelloWorld>(ActorId.CreateRandom(), new Uri("fabric:/MyApplication/HelloWorldActorService")); Task<string> retval = actor.GetHelloWorldAsync(); Console.Write(retval.Result); Console.ReadLine(); } } }
Menjalankan operasi dan debugging
Tekan F5 untuk membangun, menyebarkan, dan menjalankan aplikasi secara lokal di kluster pengembangan Service Fabric. Selama proses penyebaran, Anda dapat melihat kemajuan di jendela Output.
Ketika output berisi teks, Aplikasi siap, pengujian layanan menggunakan aplikasi ActorClient dapat dilakukan. Di Penjelajah Solusi, klik kanan pada proyek ActorClient, lalu klik Debug>Mulai instans baru. Aplikasi baris perintah harus menampilkan output dari layanan actor.
Tip
Runtime Service Fabric Actors mengeluarkan beberapa peristiwa dan penghitung kinerja yang terkait dengan metode actor. Ini berguna dalam diagnostik dan pemantauan kinerja.
Langkah berikutnya
Pelajari selengkapnya tentang cara Reliable Actor menggunakan platform Service Fabric.