A Reliable Actors használatának első lépései

Ez a cikk egy egyszerű Reliable Actor-alkalmazás létrehozását és hibakeresését ismerteti a Visual Studióban. A Reliable Actorsről további információt a Service Fabric Reliable Actors bemutatása című témakörben talál.

Előfeltételek

A kezdés előtt győződjön meg arról, hogy a Service Fabric fejlesztői környezete ( beleértve a Visual Studiót is) be van állítva a gépen. További információ: A fejlesztési környezet beállítása.

Új projekt létrehozása a Visual Studióban

Indítsa el a Visual Studio 2019-et vagy újabb verziót rendszergazdaként, majd hozzon létre egy új Service Fabric-alkalmazásprojektet :

Service Fabric-eszközök a Visual Studióhoz – új projekt

A következő párbeszédpanelen válassza az Aktorszolgáltatás lehetőséget a .NET Core 2.0 alatt, és adja meg a szolgáltatás nevét.

Service Fabric-projektsablonok

A létrehozott projekt a következő struktúrát mutatja:

Service Fabric-projektstruktúra

A megoldás vizsgálata

A megoldás három projektet tartalmaz:

  • Az alkalmazásprojekt (MyApplication). Ez a projekt az összes szolgáltatást együtt tartalmazza az üzembe helyezéshez. Az alkalmazás kezeléséhez szükséges ApplicationManifest.xml és PowerShell-szkripteket tartalmazza.

  • Az interfészprojekt (HelloWorld.Interfaces). Ez a projekt tartalmazza az aktor felületdefinícióját. Az aktorfelületek bármilyen nevű projektben definiálhatók. Az interfész határozza meg az aktorszerződést, amelyet az aktor implementációja és az aktort hívó ügyfelek osztanak meg. Mivel az ügyfélprojektek függhetnek tőle, általában érdemes definiálni egy olyan szerelvényben, amely elkülönül az aktor implementációjától.

  • Az aktorszolgáltatás projektje (HelloWorld). Ez a projekt határozza meg azt a Service Fabric szolgáltatást, amely a színészt fogja üzemeltetni. Tartalmazza a HelloWorld.cs színész implementációját. Az aktor-implementáció egy olyan osztály, amely az alaptípusból Actor származik, és implementálja a MyActor.Interfaces projektben definiált interfészeket. Az aktorosztálynak olyan konstruktort is implementálnia kell, amely elfogadja a ActorService példányt és az a-t ActorId , és átadja azokat az alaposztálynak Actor .

    Ez a projekt a Program.cs fájlt is tartalmazza, amely a Service Fabric-futtatókörnyezetben regisztrálja az aktorosztályokat a használatával ActorRuntime.RegisterActorAsync<T>(). Az HelloWorld osztály már regisztrálva van. A projekthez hozzáadott további aktor-implementációkat is regisztrálni kell a Main() metódusban.

A HelloWorld-szereplő testreszabása

A projektsablon definiál néhány metódust a IHelloWorld felületen, és implementálja őket az HelloWorld aktor implementálásában. Cserélje le ezeket a metódusokat, hogy az aktorszolgáltatás egy egyszerű ""Helló világ!" alkalmazás" sztringet adjon vissza.

A HelloWorld.Interfacesprojektben az IHelloWorld.cs fájlban cserélje le a felületdefiníciót az alábbiak szerint:

public interface IHelloWorld : IActor
{
    Task<string> GetHelloWorldAsync();
}

A HelloWorld projektben a HelloWorld.cs fájlban cserélje le a teljes osztálydefiníciót az alábbiak szerint:

[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!");
    }
}

A Ctrl-Shift-B billentyűkombinációt lenyomva hozza létre a projektet, és győződjön meg arról, hogy minden lefordítva van.

Ügyfél hozzáadása

Hozzon létre egy egyszerű konzolalkalmazást az aktorszolgáltatás meghívásához.

  1. Kattintson a jobb gombbal a megoldásra > Megoldáskezelő Új projekt hozzáadása>... területen.

  2. A .NET Core-projekttípusok alatt válassza a Konzolalkalmazás (.NET Core) lehetőséget. Nevezze el az ActorClient projektet.

    Új projekt hozzáadása párbeszédpanel

    Megjegyzés

    A konzolalkalmazás nem az az alkalmazástípus, amelyet általában ügyfélként használna a Service Fabricben, de kényelmes példaként szolgál a helyi Service Fabric-fürt használatával végzett hibakereséshez és teszteléshez.

  3. A konzolalkalmazásnak 64 bites alkalmazásnak kell lennie a felületprojekttel és más függőségekkel való kompatibilitás fenntartásához. A Megoldáskezelő kattintson a jobb gombbal az ActorClient projektre, majd kattintson a Tulajdonságok parancsra. A Build lapon állítsa a Platform célértéketx64 értékre.

    Buildtulajdonságok

  4. Az ügyfélprojekthez a megbízható actors NuGet-csomag szükséges. Kattintson az Eszközök>NuGet Package Manager Csomagkezelő>konzol elemre. A Package Manager konzolon adja meg a következő parancsot:

    Install-Package Microsoft.ServiceFabric.Actors -IncludePrerelease -ProjectName ActorClient
    

    A NuGet-csomag és annak összes függősége telepítve van az ActorClient projektben.

  5. Az ügyfélprojektnek hivatkoznia kell a interfaces projektre is. Az ActorClient projektben kattintson a jobb gombbal a Függőségek elemre, majd kattintson a Projekthivatkozás hozzáadása... parancsra. Válassza a Projektek > megoldás lehetőséget (ha még nincs bejelölve), majd jelölje be a HelloWorld.Interfaces melletti jelölőnégyzetet. Kattintson az OK gombra.

    Referencia hozzáadása párbeszédpanel

  6. Az ActorClient projektben cserélje le a Program.cs teljes tartalmát a következő kódra:

    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();
            }
        }
    }
    

Futtatás és hibakeresés

Nyomja le az F5 billentyűt az alkalmazás helyi létrehozásához, üzembe helyezéséhez és futtatásához a Service Fabric fejlesztői fürtben. Az üzembe helyezési folyamat során a Kimenet ablakban láthatja az előrehaladást.

A Service Fabric hibakeresési kimeneti ablaka

Ha a kimenet tartalmazza a szöveget, az alkalmazás készen áll, tesztelheti a szolgáltatást az ActorClient alkalmazással. A Megoldáskezelő kattintson a jobb gombbal az ActorClient projektre, majd kattintson az Új példány hibakeresése>parancsra. A parancssori alkalmazásnak meg kell jelenítenie az aktorszolgáltatás kimenetét.

Alkalmazás kimenete

Tipp

A Service Fabric Actors futtatókörnyezet aktor metódusokhoz kapcsolódó eseményeket és teljesítményszámlálókat bocsát ki. A diagnosztikában és a teljesítmény monitorozásában hasznosak.

Következő lépések

További információ arról , hogyan használják a Reliable Actors a Service Fabric platformot.