Reliable Actors ile çalışmaya başlama
Bu makalede Visual Studio'da basit bir Reliable Actor uygulaması oluşturma ve hata ayıklama adımları anlatılmaktadır. Reliable Actors hakkında daha fazla bilgi için bkz. Service Fabric Reliable Actors'a Giriş.
Önkoşullar
Başlamadan önce, makinenizde Visual Studio da dahil olmak üzere Service Fabric geliştirme ortamının ayarlandığından emin olun. Ayrıntılar için bkz. Geliştirme ortamını ayarlama.
Visual Studio'da yeni proje oluşturma
Visual Studio 2019 veya sonraki bir sürümü yönetici olarak başlatın ve ardından yeni bir Service Fabric Uygulaması projesi oluşturun:
Sonraki iletişim kutusunda,.NET Core 2.0 altında Aktör Hizmeti'ni seçin ve hizmet için bir ad girin.
Oluşturulan proje aşağıdaki yapıyı gösterir:
Çözümü inceleme
Çözüm üç proje içerir:
Uygulama projesi (MyApplication). Bu proje, dağıtım için tüm hizmetleri bir arada paketler. Uygulamayı yönetmek için ApplicationManifest.xml ve PowerShell betiklerini içerir.
Arabirim projesi (HelloWorld.Interfaces). Bu proje aktörün arabirim tanımını içerir. Aktör arabirimleri herhangi bir projede herhangi bir adla tanımlanabilir. arabirimi, aktör uygulaması ve aktörü çağıran istemciler tarafından paylaşılan aktör sözleşmesini tanımlar. İstemci projeleri buna bağlı olabileceğinden, genellikle aktör uygulamasından ayrı bir derlemede tanımlamak mantıklıdır.
Aktör hizmeti projesi (HelloWorld). Bu proje, aktörü barındıracak Service Fabric hizmetini tanımlar. HelloWorld.cs aktörünün uygulamasını içerir. Aktör uygulaması, temel türden
Actor
türetilen ve MyActor.Interfaces projesinde tanımlanan arabirimleri uygulayan bir sınıftır. Bir aktör sınıfı da bir örneği kabul eden ve bunları temelActor
sınıfa geçiren birActorService
ActorId
oluşturucu uygulamalıdır.Bu proje, kullanarak
ActorRuntime.RegisterActorAsync<T>()
aktör sınıflarını Service Fabric çalışma zamanına kaydeden Program.cs dosyasını da içerir. SınıfHelloWorld
zaten kayıtlı. Projeye eklenen tüm ek aktör uygulamaları da yöntemineMain()
kaydedilmelidir.
HelloWorld aktörü özelleştirme
Proje şablonu, arabirimdeki IHelloWorld
bazı yöntemleri tanımlar ve bunları HelloWorld
aktör uygulamasında uygular. Aktör hizmetinin basit bir "Merhaba Dünya" dizesi döndürmesi için bu yöntemleri değiştirin.
HelloWorld.Interfaces projesindeki IHelloWorld.cs dosyasında arabirim tanımını aşağıdaki gibi değiştirin:
public interface IHelloWorld : IActor
{
Task<string> GetHelloWorldAsync();
}
HelloWorld projesinin HelloWorld.cs dosyasında sınıf tanımının tamamını aşağıdaki gibi değiştirin:
[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!");
}
}
Projeyi oluşturmak ve her şeyin derlendiğinden emin olmak için Ctrl-Shift-B tuşlarına basın.
İstemci ekleme
Aktör hizmetini çağırmak için basit bir konsol uygulaması oluşturun.
Yeni Proje Ekle>... Çözüm Gezgini > çözüme sağ tıklayın.
.NET Core proje türleri altında Konsol Uygulaması (.NET Core) öğesini seçin. Projeyi ActorClient olarak adlandırın.
Not
Konsol uygulaması normalde Service Fabric'te istemci olarak kullanacağınız uygulama türü değildir, ancak yerel Service Fabric kümesini kullanarak hata ayıklama ve test için kullanışlı bir örnektir.
Arabirim projesi ve diğer bağımlılıklarla uyumluluğu sürdürmek için konsol uygulamasının 64 bitlik bir uygulama olması gerekir. Çözüm Gezgini'da ActorClient projesine sağ tıklayın ve ardından Özellikler'e tıklayın. Derleme sekmesinde Platform hedefinix64 olarak ayarlayın.
İstemci projesi, reliable actors NuGet paketini gerektirir. Araçlar>NuGet Paket Yöneticisi Paket Yöneticisi>Konsolu'nu tıklatın. Paket Yöneticisi Konsolu'nda aşağıdaki komutu girin:
Install-Package Microsoft.ServiceFabric.Actors -IncludePrerelease -ProjectName ActorClient
NuGet paketi ve tüm bağımlılıkları ActorClient projesine yüklenir.
İstemci projesi ayrıca arabirimler projesine başvuru gerektirir. ActorClient projesinde Bağımlılıklar'a sağ tıklayın ve ardından Proje Başvurusu Ekle... öğesine tıklayın. Projeler > Çözümü'ne tıklayın (henüz seçili değilse) ve HelloWorld.Interfaces'in yanındaki onay kutusunu işaretleyin. Tamam'a tıklayın.
ActorClient projesinde , Program.cs dosyasının tüm içeriğini aşağıdaki kodla değiştirin:
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(); } } }
Çalıştırma ve hata ayıklama
Uygulamayı Service Fabric geliştirme kümesinde yerel olarak derlemek, dağıtmak ve çalıştırmak için F5 tuşuna basın. Dağıtım işlemi sırasında , ilerleme durumunu Çıkış penceresinde görebilirsiniz.
Çıktı metni içerdiğinde Uygulama hazır olduğunda, ActorClient uygulamasını kullanarak hizmeti test etmek mümkündür. Çözüm Gezgini'da ActorClient projesine sağ tıklayın ve ardından Hata Ayıklama>Yeni örnek başlat'a tıklayın. Komut satırı uygulaması aktör hizmetinden gelen çıkışı görüntülemelidir.
İpucu
Service Fabric Actors çalışma zamanı aktör yöntemleriyle ilgili bazı olayları ve performans sayaçlarını yayar. Bunlar tanılama ve performans izlemede yararlıdır.
Sonraki adımlar
Reliable Actors'ın Service Fabric platformunu nasıl kullandığı hakkında daha fazla bilgi edinin.