Formazione
Modulo
Creare la prima app Orleans con ASP.NET Core 8.0 - Training
Informazioni su come creare app distribuite native del cloud con Orleans.
Questo browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Per un'applicazione di esempio funzionante destinata a Orleans versione 7.0, vedere Orleans: Hello World. L'esempio ospita il client e il silo nelle applicazioni console .NET che funzionano su piattaforme diverse, mentre i grani e le interfacce hanno come destinazione .NET Standard 2.0.
Suggerimento
Per le versioni precedenti di Orleans, vedere progetti di esempio Orleans.
È consigliabile usare il pacchetto NuGet Microsoft.Extensions.Hosting per configurare ed eseguire il silo. Inoltre, quando si sviluppa un silo Orleans è necessario il pacchetto NuGet Microsoft.Orleans.Server. Per lo sviluppo di silo Orleans locali, si configura il clustering localhost per utilizzare l'indirizzo di loopback. Per usare il clustering localhost, chiamare il metodo di estensione UseLocalhostClustering. Si consideri questo esempio di file Program.cs dell'host del silo:
using Microsoft.Extensions.Hosting;
await Host.CreateDefaultBuilder(args)
.UseOrleans(siloBuilder =>
{
siloBuilder.UseLocalhostClustering();
})
.RunConsoleAsync();
Il codice precedente:
UseOrleans
per configurare il silo.UseLocalhostClustering
nel ISiloBuilder dato per configurare il silo per l'uso del clustering localhost.RunConsoleAsync
per eseguire il silo come applicazione console.Per lo sviluppo locale, vedere l'esempio seguente di come configurare un silo per tale caso. Configura e avvia un silo che ascolta sull'indirizzo loopback
e utilizza 11111
e 30000
rispettivamente come porta del silo e porta del gateway.
Aggiungere il meta-pacchetto NuGet Microsoft.Orleans.Server
al progetto.
dotnet add package Microsoft.Orleans.Server
In alternativa, in .NET 10+:
dotnet package add Microsoft.Orleans.Server
È necessario configurare ClusterOptions tramite il metodo ISiloBuilderConfigure
, specificare che si vuole LocalhostClustering
come scelta di clustering con questo silo come primario e quindi configurare gli endpoint silo.
La chiamata ConfigureApplicationParts aggiunge in modo esplicito l'assembly con classi granulari alla configurazione dell'applicazione. Aggiunge anche qualsiasi assembly a cui si fa riferimento a causa dell'estensione WithReferences. Al termine di questi passaggi, l'host silo viene compilato e il silo viene avviato.
È possibile creare un progetto di applicazione console vuoto destinato a .NET Framework 4.6.1 o versione successiva per ospitare un silo e un'applicazione console .NET.
Ecco un esempio di come è possibile avviare un silo locale:
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;
}
È consigliabile usare il pacchetto NuGet Microsoft.Extensions.Hosting per configurare ed eseguire i client (oltre al silo). È anche necessario il pacchetto NuGet Microsoft.Orleans.Client. Per utilizzare il clustering localhost sul client di consumo, chiamare il metodo di estensione UseLocalhostClustering. Si consideri questo esempio di file Program.cs dell'host client:
using Microsoft.Extensions.Hosting;
using IHost host = Host.CreateDefaultBuilder(args)
.UseOrleansClient(client =>
{
client.UseLocalhostClustering();
})
.UseConsoleLifetime()
.Build();
await host.StartAsync();
Il codice precedente:
UseOrleansClient
per configurare il client.UseLocalhostClustering
nel IClientBuilder specificato per configurare il client per l'uso del clustering localhost.UseConsoleLifetime
per configurare il client per utilizzare la durata di vita della console.StartAsync
nella variabile host
per avviare il client.Per lo sviluppo locale, vedere l'esempio seguente di come configurare un client per tale caso. Configura un client destinato a connettersi a un silo loopback
.
Aggiungere il meta-pacchetto NuGet Microsoft.Orleans.Client
al progetto. Dopo aver preso familiarità con l'API, è possibile scegliere quali pacchetti inclusi in Microsoft.Orleans.Client
sono effettivamente necessari e farvi riferimento.
Install-Package Microsoft.Orleans.Client
È necessario configurare ClientBuilder con un ID cluster corrispondente a quello specificato per il silo locale e specificare il clustering statico come scelta di clustering che punta alla porta gateway del silo
La chiamata ConfigureApplicationParts
aggiunge in modo esplicito l'assembly con interfacce granulari alla configurazione dell'applicazione.
Al termine di questi passaggi, è possibile compilare il client e il metodo Connect()
per connettersi al cluster.
È possibile creare un progetto di applicazione console vuoto destinato a .NET Framework 4.6.1 o versione successiva per eseguire un client o riutilizzare il progetto di applicazione console creato per l'hosting di un silo.
Ecco un esempio di come un client può connettersi a un silo locale:
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();
Feedback su .NET
.NET è un progetto di open source. Selezionare un collegamento per fornire feedback:
Formazione
Modulo
Creare la prima app Orleans con ASP.NET Core 8.0 - Training
Informazioni su come creare app distribuite native del cloud con Orleans.