Konfigurace místního vývoje
Funkční ukázkovou aplikaci, která cílí na Orleans verzi 7.0, najdete v tématu Orleans: Hello World. Ukázka hostuje klienta a silo v konzolových aplikacích .NET, které fungují na různých platformách, zatímco zrnka a rozhraní cílí na .NET Standard 2.0.
Tip
V případě starších Orleansverzí najdete Orleans ukázkové projekty.
Konfigurace sila
Ke konfiguraci a spuštění sila doporučujeme použít balíček NuGet Microsoft.Extensions.Hosting . Při vývoji Orleans sila také potřebujete Microsoft.Orleans. Balíček NuGet serveru Pro místní Orleans vývoj silo nakonfigurujete clustering localhost, který je nakonfigurovaný tak, aby používal adresu zpětné smyčky. Pokud chcete použít clustering localhost, zavolejte metodu UseLocalhostClustering rozšíření. Podívejte se na tento příklad Program.cs souboru hostitele sila:
using Microsoft.Extensions.Hosting;
await Host.CreateDefaultBuilder(args)
.UseOrleans(siloBuilder =>
{
siloBuilder.UseLocalhostClustering();
})
.RunConsoleAsync();
Předchozí kód:
- Vytvoří výchozího tvůrce hostitelů.
- Zavolá metodu
UseOrleans
rozšíření ke konfiguraci sila. - Zavolá metodu
UseLocalhostClustering
rozšíření na dané straně ISiloBuilder , aby silo nakonfigurovali tak, aby používala clustering localhost. - Zřetědí metodu
RunConsoleAsync
spuštění sila jako konzolové aplikace.
Informace o místním vývoji najdete v následujícím příkladu konfigurace sila pro tento případ. Nakonfiguruje a spustí silo naslouchání loopback
na adrese 11111
a 30000
jako porty sil a brány.
Microsoft.Orleans.Server
Přidejte do projektu metabalíč NuGet.
dotnet add package Microsoft.Orleans.Server
Je potřeba nakonfigurovat ClusterOptions prostřednictvím ISiloBuilder Configure
metody, určit, že chcete LocalhostClustering
jako volbu clusteringu použít toto silo, které je primární, a pak nakonfigurujte koncové body sila.
Volání ConfigureApplicationParts explicitně přidá sestavení s třídami grain do instalace aplikace. Přidá také všechny odkazované sestavení z důvodu WithReferences rozšíření. Po dokončení těchto kroků se hostitel sila sestaví a začne silo.
Můžete vytvořit prázdný projekt konzolové aplikace, který cílí na rozhraní .NET Framework 4.6.1 nebo vyšší pro hostování sil a konzolové aplikace .NET.
Tady je příklad spuštění místního sila:
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;
}
Konfigurace klienta
Ke konfiguraci a spuštění klientů (kromě sila) doporučujeme použít balíček NuGet Microsoft.Extensions.Hosting . Potřebujete také Microsoft.Orleans Balíček NuGet klienta Pokud chcete použít clustering localhost na spotřebujícím klientovi, zavolejte metodu UseLocalhostClustering rozšíření. Podívejte se na tento příklad Program.cs souboru hostitele klienta:
using Microsoft.Extensions.Hosting;
using IHost host = Host.CreateDefaultBuilder(args)
.UseOrleansClient(client =>
{
client.UseLocalhostClustering();
})
.UseConsoleLifetime()
.Build();
await host.StartAsync();
Předchozí kód:
- Vytvoří výchozího tvůrce hostitelů.
- Zavolá metodu
UseOrleansClient
rozšíření ke konfiguraci klienta. - Zavolá metodu
UseLocalhostClustering
rozšíření na dané straně IClientBuilder , aby nakonfigurovali klienta tak, aby používal clustering localhost. - Zavolá metodu
UseConsoleLifetime
rozšíření, která nakonfiguruje klienta tak, aby používal životnost konzoly. - Zavolá metodu
StartAsync
proměnnéhost
, která spustí klienta.
Informace o místním vývoji najdete v následujícím příkladu konfigurace klienta pro tento případ. Nakonfiguruje klienta, který se připojí k silu loopback
.
Microsoft.Orleans.Client
Přidejte do projektu metabalíč NuGet. Jakmile se s rozhraním API seznámíte, můžete vybrat a zvolit, které přesné balíčky, Microsoft.Orleans.Client
které skutečně potřebujete, a odkazovat na ně.
Install-Package Microsoft.Orleans.Client
Musíte nakonfigurovat ClientBuilder ID clusteru, které odpovídá ID clusteru, který jste zadali pro místní sil, a jako volbu clusteringu zadat statické clusteringy, které ho odkazují na port brány sil.
ConfigureApplicationParts
volání explicitně přidá sestavení s rozhraními zrn do nastavení aplikace.
Po dokončení těchto kroků můžeme sestavit klienta a Connect()
metodu pro připojení ke clusteru.
Můžete vytvořit prázdný projekt konzolové aplikace, který cílí na rozhraní .NET Framework 4.6.1 nebo vyšší pro spuštění klienta nebo opakované použití projektu konzolové aplikace, který jste vytvořili pro hostování sila.
Tady je příklad, jak se klient může připojit k místnímu silu:
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();