Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
7.0'ı hedefleyen Orleans çalışan bir örnek uygulama için bkz Orleans. Merhaba Dünya. Örnek, farklı platformlarda çalışan .NET konsol uygulamalarında istemciyi ve siloyu barındırırken, tanecikler ve arabirimler .NET Standard 2.0'ı hedefler.
Silo yapılandırması
Siloyu yapılandırmak ve çalıştırmak için Microsoft.Extensions.Hosting NuGet paketini kullanmanızı öneririz. Ayrıca, silo Orleans geliştirirken Microsoft.Orleans.Server NuGet paketi. Yerel Orleans silo geliştirme için geri döngü adresini kullanan localhost kümelemesini yapılandırın. localhost kümelemini kullanmak için uzantı yöntemini çağırın UseLocalhostClustering . Silo konağı için şu örnek Program.cs dosyasını göz önünde bulundurun:
using Microsoft.Extensions.Hosting;
await Host.CreateDefaultBuilder(args)
.UseOrleans(siloBuilder =>
{
siloBuilder.UseLocalhostClustering();
})
.RunConsoleAsync();
Yukarıdaki kod aşağıdakileri yapar:
- Varsayılan bir sunucu oluşturucu oluşturur.
- Siloyu UseOrleans yapılandırmak için uzantı yöntemini çağırır.
- Verilen
UseLocalhostClusteringüzerinde, siloyu localhost kümelemesini kullanacak şekilde yapılandırmak için ISiloBuilder uzantı yöntemini çağırır. - Siloyu konsol uygulaması olarak çalıştırmak için
RunConsoleAsyncyöntemini bağlar.
Yerel geliştirme için, bu durum için silo yapılandırmayı gösteren aşağıdaki örniğe bakın.
loopback adresinde dinleyen bir silo yapılandırır ve başlatır, 11111 ve 30000 sırasıyla silo ve ağ geçidi bağlantı noktaları olarak kullanılır.
Microsoft.Orleans.Server NuGet meta paketini projenize ekleyin.
dotnet add package Microsoft.Orleans.Server
Öncelikle, ClusterOptionsISiloBuilder yöntemiyle Configure yapılandırmanız, ardından bu silo birincil olacak şekilde LocalhostClustering kümeleme seçiminizi belirtmeniz ve son olarak silo uç noktalarını yapılandırmanız gerekir.
ConfigureApplicationParts çağrısı, tahıl sınıflarını içeren derlemeyi uygulama kurulumuna açıkça ekler. Ayrıca WithReferences uzantısı nedeniyle referans verilen herhangi bir derlemeyi de ekler. Bu adımları tamamladıktan sonra silo ana bilgisayarını oluşturun ve siloyu başlatın.
Silo barındırmak için .NET Framework 4.6.1 veya üzerini hedefleyen boş bir konsol uygulaması projesi oluşturabilirsiniz.
İşte yerel bir siloyu nasıl başlatabileceğinize dair bir örnek:
public static async Task StartLocalSilo()
{
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<IHost> 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;
}
İstemci yapılandırması
İstemcileri yapılandırmak ve çalıştırmak için (siloya ek olarak ) Microsoft.Extensions.Hosting NuGet paketini kullanmanızı öneririz. Ayrıca Microsoft.Orleans.İstemci NuGet paketi. Tüketen istemcide localhost kümelemeyi kullanmak için UseLocalhostClustering uzantı yöntemini çağırın. İstemci ana bilgisayarı için bu örnek Program.cs dosyasını göz önünde bulundurun:
using Microsoft.Extensions.Hosting;
using IHost host = Host.CreateDefaultBuilder(args)
.UseOrleansClient(client =>
{
client.UseLocalhostClustering();
})
.UseConsoleLifetime()
.Build();
await host.StartAsync();
Yukarıdaki kod aşağıdakileri yapar:
- Varsayılan bir sunucu oluşturucu oluşturur.
- İstemciyi yapılandırmak için UseOrleansClient uzantı yöntemini çağırır.
- İstemciyi
UseLocalhostClusteringlocalhost kümelemini kullanacak şekilde yapılandırmak için verilen IClientBuilder üzerindeki uzantı yöntemini çağırır. - İstemciyi
UseConsoleLifetimekonsol ömrünü kullanacak şekilde yapılandırmak için uzantı yöntemini çağırır. -
StartAsyncdeğişkenindehostyöntemini çağırarak istemciyi başlatır.
Yerel geliştirme için, bu durum için istemci yapılandırmayı gösteren aşağıdaki örniğe bakın. Bu yapılandırma, bir loopback silosuna bağlanan bir istemciyi yapılandırır.
Microsoft.Orleans.Client NuGet meta paketini projenize ekleyin. API ile rahat ettikten sonra, ihtiyacınız olan ve Microsoft.Orleans.Client içeren belirli paketleri seçip tercih edebilir ve bunlara başvurabilirsiniz.
Install-Package Microsoft.Orleans.Client
Küme kimliği yerel silo için belirtilenle eşleşecek şekilde ClientBuilder öğesini yapılandırın. Kümeleme seçeneğiniz olarak statik kümelemeyi belirtin ve silonun ağ geçidi bağlantı noktasına işaret edin.
ConfigureApplicationParts çağrısı, uygulama kurulumuna tahıl arabirimlerini içeren derlemeyi açıkça ekler.
Bu adımları tamamladıktan sonra istemciyi derleyin ve kümeye bağlanmak için Connect() metodunu çağırın.
İstemci çalıştırmak için .NET Framework 4.6.1 veya üzerini hedefleyen boş bir konsol uygulaması projesi oluşturabilir veya siloyu barındırmak için oluşturulan konsol uygulaması projesini yeniden kullanabilirsiniz.
İstemcinin yerel siloya nasıl bağlanabileceğini gösteren bir örnek aşağıda verilmişti:
public static async Task StartLocalClient()
{
var client = new ClientBuilder()
.UseLocalhostClustering()
.Configure<ClusterOptions>(options =>
{
options.ClusterId = "dev";
options.ServiceId = "MyAwesomeService";
})
.ConfigureLogging(logging => logging.AddConsole())
.Build();
await client.Connect();
}