Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Konfigurieren Sie einen Client, um eine Verbindung mit einem Cluster von Silos herzustellen und programmgesteuert Anfragen an Grains über eine IHostBuilder und mehrere zusätzliche Optionsklassen zu senden. Wie Silo-Optionen folgen auch die Client-Optionsklassen dem Optionen-Muster in .NET.
Konfigurieren Sie einen Client, um eine Verbindung mit einem Cluster von Silos herzustellen und programmgesteuert Anfragen an Grains über eine ClientBuilder und mehrere zusätzliche Optionsklassen zu senden. Wie Silo-Optionen folgen auch die Client-Optionsklassen dem Optionen-Muster in .NET.
Tipp
Wenn Sie nur ein lokales Silo und einen lokalen Client für Entwicklungszwecke starten möchten, lesen Sie die Konfiguration der lokalen Entwicklung.
Fügen Sie das Microsoft.Orleans.Clustering.AzureStorage NuGet-Paket zu Ihrem Clientprojekt hinzu.
Es gibt mehrere wichtige Aspekte der Clientkonfiguration:
- Orleans Clusterinformationen
- Clusteringanbieter
- Teile der Anwendung
Beispiel für eine Clientkonfiguration:
var client = new HostBuilder()
.UseOrleansClient((context, clientBuilder) =>
{
clientBuilder.Configure<ClusterOptions>(options =>
{
options.ClusterId = "my-first-cluster";
options.ServiceId = "MyOrleansService";
})
.UseAzureStorageClustering(
options => options.ConfigureTableServiceClient(
context.Configuration["ORLEANS_AZURE_STORAGE_CONNECTION_STRING"]));
})
.Build();
using Orleans.Hosting;
var client = new ClientBuilder()
.Configure<ClusterOptions>(options =>
{
options.ClusterId = "my-first-cluster";
options.ServiceId = "MyOrleansService";
})
.UseAzureStorageClustering(
options => options.ConnectionString = connectionString)
.ConfigureApplicationParts(
parts => parts.AddApplicationPart(
typeof(IValueGrain).Assembly))
.Build();
Lassen Sie uns die in diesem Beispiel verwendeten Schritte aufschlüsseln:
Orleans Clusterinformationen
.Configure<ClusterOptions>(options =>
{
options.ClusterId = "orleans-docker";
options.ServiceId = "AspNetSampleApp";
})
Hier legen wir zwei Dinge fest:
- Der ClusterOptions.ClusterId zu
"my-first-cluster": Dies ist eine eindeutige ID für den Orleans-Cluster. Alle Kunden und Silos, die diese ID verwenden, können direkt miteinander kommunizieren. Einige könnten z. B. für jede Bereitstellung eine andereClusterIdverwenden. - Die ClusterOptions.ServiceId zu
"AspNetSampleApp": Dies ist eine eindeutige ID für Ihre Anwendung, die von einigen Anbietern verwendet wird (z. B. Persistenzanbieter). Diese ID sollte für alle Bereitstellungen stabil bleiben.
Clusteringanbieter
.UseAzureStorageClustering(
options => options.ConfigureTableServiceClient(connectionString);
.UseAzureStorageClustering(
options => options.ConnectionString = connectionString)
Der Client ermittelt alle verfügbaren Gateways im Cluster mithilfe dieses Anbieters. Es stehen mehrere Anbieter zur Verfügung; hier verwenden wir den Azure Table-Anbieter.
Weitere Informationen finden Sie unter Serverkonfiguration.
Teile der Anwendung
.ConfigureApplicationParts(
parts => parts.AddApplicationPart(
typeof(IValueGrain).Assembly))
.WithReferences())
Weitere Informationen finden Sie unter Serverkonfiguration.