Share via


Helyi fejlesztési konfiguráció

A 7.0-s célokat szolgáló Orleans működő mintaalkalmazásért lásdOrleans: "Helló világ!" alkalmazás. A minta a különböző platformokon működő .NET-konzolalkalmazásokban üzemelteti az ügyfelet és a silót, míg a szemcsék és interfészek a .NET Standard 2.0-t célják.

Tipp.

A korábbi verziók Orleansesetében lásd Orleans a mintaprojekteket.

Siló konfigurációja

A siló konfigurálásához és futtatásához ajánlott a Microsoft.Extensions.Hosting NuGet-csomag használata. Emellett egy Orleans siló fejlesztésekor szüksége lesz a Microsoftra.Orleans Kiszolgálói NuGet-csomag. A helyi Orleans silófejlesztéshez a localhost-fürtözést kell konfigurálnia, amely a visszacsatolási cím használatára van konfigurálva. A localhost-fürtözés használatához hívja meg a UseLocalhostClustering bővítménymetódust. Tekintse meg ezt a példát a silógazda Program.cs fájljára:

using Microsoft.Extensions.Hosting;

await Host.CreateDefaultBuilder(args)
    .UseOrleans(siloBuilder =>
    {
        siloBuilder.UseLocalhostClustering();;
    })
    .RunConsoleAsync();

A fenti kód a következőket végzi el:

  • Létrehoz egy alapértelmezett gazdagépszerkesztőt.
  • Meghívja a UseOrleans bővítménymetódust a siló konfigurálásához.
  • Meghívja a UseLocalhostClustering megadott ISiloBuilder bővítménymetódust, hogy konfigurálja a silót a localhost-fürtszolgáltatás használatára.
  • RunConsoleAsync A siló konzolalkalmazásként való futtatásához láncot használ.

A helyi fejlesztéshez tekintse meg az alábbi példát arra, hogyan konfigurálhat silót erre az esetre. Konfigurál és elindít egy silót, amely figyeli a loopback címet, 11111 illetve 30000 siló- és átjáróportként.

Adja hozzá a Microsoft.Orleans.Server NuGet-metacsomagot a projekthez.

dotnet add package Microsoft.Orleans.Server

Konfigurálnia ClusterOptions kell metódussal ISiloBuilderConfigure , meg kell adnia, hogy LocalhostClustering a fürtözési választáshoz ez a siló legyen az elsődleges, majd konfigurálja a silóvégpontokat.

A ConfigureApplicationParts hívás explicit módon hozzáadja a szemcsés osztályokat tartalmazó szerelvényt az alkalmazás beállításához. Emellett a bővítmény miatt a hivatkozott szerelvényt is hozzáadja WithReferences . A lépések elvégzése után a siló gazdagép megépül, és elindul a siló.

Létrehozhat egy üres konzolalkalmazás-projektet, amely .NET-keretrendszer 4.6.1 vagy újabb verziót céloz meg egy siló és egy .NET-konzolalkalmazás üzemeltetéséhez.

Íme egy példa egy helyi siló indítására:

try
{
    var host = await BuildAndStartSiloAsync();

    Console.WriteLine("Press Enter to terminate...");
    Console.ReadLine();

    await host.StopAsync();
}
catch (Exception ex)
{
    Console.WriteLine(ex);
}

static async Task<ISiloHost> BuildAndStartSiloAsync()
{
    var host = new HostBuilder()
      .UseOrleans(builder =>
      {
          builder.UseLocalhostClustering()
              .Configure<ClusterOptions>(options =>
              {
                  options.ClusterId = "dev";
                  options.ServiceId = "MyAwesomeService";
              })
              .Configure<EndpointOptions>(
                  options => options.AdvertisedIPAddress = IPAddress.Loopback)
              .ConfigureLogging(logging => logging.AddConsole());
      })
      .Build();

    await host.StartAsync();

    return host;
}

Ügyfél-konfiguráció

Javasoljuk, hogy a Microsoft.Extensions.Hosting NuGet-csomagot használja az ügyfelek konfigurálásához és futtatásához (a siló mellett). Szüksége van a MicrosoftraOrleans is. Ügyfél NuGet-csomag. Ha localhost-fürtözést szeretne használni a fogyasztó ügyfélen, hívja meg a UseLocalhostClustering bővítménymetódust. Tekintse meg ezt a példát Program.cs ügyfél-gazdagép fájlját:

using Microsoft.Extensions.Hosting;

using IHost host = Host.CreateDefaultBuilder(args)
    .UseOrleansClient(client =>
    {
        client.UseLocalhostClustering();
    })
    .UseConsoleLifetime()
    .Build();

await host.StartAsync();

A fenti kód a következőket végzi el:

  • Létrehoz egy alapértelmezett gazdagépszerkesztőt.
  • Meghívja a UseOrleansClient bővítménymetódust az ügyfél konfigurálásához.
  • Meghívja a UseLocalhostClustering megadott IClientBuilder bővítménymetódust, hogy konfigurálja az ügyfelet a localhost-fürtszolgáltatás használatára.
  • Meghívja a UseConsoleLifetime bővítménymetódust, hogy konfigurálja az ügyfelet a konzol élettartamának használatára.
  • Meghívja a StartAsync változó metódusát az host ügyfél elindításához.

A helyi fejlesztéshez tekintse meg az ügyfél konfigurálásának alábbi példáját az adott esethez. Konfigurál egy olyan ügyfelet, amely egy loopback silóhoz csatlakozik.

Adja hozzá a Microsoft.Orleans.Client NuGet-metacsomagot a projekthez. Miután megismerkedett az API-val, kiválaszthatja és kiválaszthatja, hogy mely csomagokra Microsoft.Orleans.Client van valójában szüksége, és hivatkozhat rájuk.

Install-Package Microsoft.Orleans.Client

Olyan fürtazonosítóval kell konfigurálnia ClientBuilder , amely megfelel a helyi silóhoz megadottnak, és statikus fürtözést kell megadnia, amikor a fürtválasztás a siló átjáróportjára mutat

ConfigureApplicationParts A call explicit módon hozzáadja a szerelvényt szemcsés interfészekkel az alkalmazás beállításához.

A lépések elvégzése után létrehozhatjuk az ügyfelet és Connect() a metódust a fürthöz való csatlakozáshoz.

Létrehozhat egy üres konzolalkalmazás-projektet, amely .NET-keretrendszer 4.6.1 vagy újabb verziót céloz meg egy ügyfél futtatásához, vagy újra felhasználhatja a siló üzemeltetéséhez létrehozott konzolalkalmazás-projektet.

Íme egy példa arra, hogyan csatlakozhat egy ügyfél egy helyi silóhoz:

var client = new ClientBuilder()
    .UseLocalhostClustering()
    .Configure<ClusterOptions>(options =>
    {
        options.ClusterId = "dev";
        options.ServiceId = "MyAwesomeService";
    })
    .ConfigureLogging(logging => logging.AddConsole())
var client = builder.Build();

await client.Connect();