In diesem Artikel erfahren Sie, wie Sie die .NET AspireAzure Web PubSub-Integration verwenden. Die Aspire.Azure.Messaging.WebPubSub-Bibliothek bietet Optionen zum Registrieren eines WebPubSubServiceClient im DI-Container zum Herstellen einer Verbindung mit Azure Web PubSub-.
Eine vorhandene Azure Web PubSub-Dienstinstanz. Weitere Informationen finden Sie unter Erstellen einer Web PubSub-Ressource. Alternativ können Sie eine Verbindungszeichenfolge verwenden, die in Produktionsumgebungen nicht empfohlen wird.
Loslegen
Um mit der .NET AspireAzure Web PubSub-Integration zu beginnen, installieren Sie das 📦Aspire.Azure.Messaging.WebPubSub NuGet-Paket im clientverwendenden Projekt, also in dem Projekt für die Anwendung, die den Azure Web PubSub-Client nutzt.
Rufen Sie in der Program.cs Datei Ihres Projekts die AddAzureWebPubSubHub Erweiterungsmethode auf, um eine WebPubSubServiceClient für die Verwendung über den Container zum Einfügen von Abhängigkeiten zu registrieren. Die Methode verwendet einen Verbindungsnamenparameter.
C#
builder.AddAzureWebPubSubServiceClient("wps");
Anschließend können Sie die WebPubSubServiceClient Instanz mithilfe der Abhängigkeitseinfügung abrufen. So rufen Sie beispielsweise den Client von einem Dienst ab:
C#
publicclassExampleService(WebPubSubServiceClient client)
{
// Use client...
}
Fügen Sie in Ihrem App-Hostprojekt eine Web PubSub-Verbindung hinzu und verwenden Sie die Verbindung mit den folgenden Methoden:
C#
var webPubSub = builder.AddAzureWebPubSub("wps");
var exampleService = builder.AddProject<Projects.ExampleService>()
.WithReference(webPubSub);
Die AddAzureWebPubSubHub-Methode liest Verbindungsinformationen aus der Konfiguration des Anwendungshosts (z. B. aus "Benutzergeheimnisse") unter dem Konfigurationsschlüssel ConnectionStrings:wps. Die Methode WithReference übergibt die Verbindungsinformationen an eine Verbindungszeichenfolge namens wps im Projekt ExampleService. In der Program.cs Datei von ExampleServicekann die Verbindung verwendet werden:
C#
builder.AddAzureWebPubSubServiceClient("wps");
Konfiguration
Die .NET AspireAzure Web PubSub-Bibliothek bietet mehrere Optionen zum Konfigurieren der Azure Web PubSub-Verbindung basierend auf den Anforderungen und Konventionen Ihres Projekts. Beachten Sie, dass entweder ein Endpoint oder ein ConnectionString angegeben werden muss.
Verwenden Sie eine Verbindungszeichenfolge
Wenn Sie eine Verbindungszeichenfolge aus dem Konfigurationsabschnitt ConnectionStrings verwenden, können Sie beim Aufrufen von builder.AddAzureWebPubSubHub()den Namen der Verbindungszeichenfolge angeben:
Anschließend werden die Verbindungsinformationen aus dem Konfigurationsabschnitt ConnectionStrings abgerufen. Zwei Verbindungsformate werden unterstützt:
Verwenden Sie den Dienstendpunkt
Der empfohlene Ansatz besteht darin, den Dienstendpunkt zu verwenden, der mit der AzureMessagingWebPubSubSettings.Credential-Eigenschaft funktioniert, um eine Verbindung herzustellen. Wenn keine Anmeldeinformationen konfiguriert sind, wird das DefaultAzureCredential verwendet.
Die .NET AspireAzure Web PubSub-Bibliothek unterstützt Microsoft.Extensions.Configuration. Sie lädt AzureMessagingWebPubSubSettings und WebPubSubServiceClientOptions mithilfe des Schlüssels Aspire:Azure:Messaging:WebPubSub aus der Konfiguration. Betrachten Sie das Beispiel appsettings.json, das einige der Optionen konfiguriert:
Sie können auch den Action<AzureMessagingWebPubSubSettings> configureSettings Delegat übergeben, um einige oder alle Optionen inline einzurichten, z. B. um Integritätsprüfungen aus Code zu deaktivieren:
Sie können die WebPubSubServiceClientOptions auch mithilfe des optionalen Action<IAzureClientBuilder<WebPubSubServiceClient, WebPubSubServiceClientOptions>> configureClientBuilder-Parameters der AddAzureWebPubSubHub-Methode konfigurieren. So legen Sie beispielsweise die Client-ID für diesen Client fest:
Die .NET AspireAzure Web PubSub-Integration stellt eine konfigurierbare Integritätsprüfung bereit, die als gesundmeldet, wenn der Client erfolgreich eine Verbindung mit dem Azure Web PubSub-Dienst herstellen kann.
Observability und Telemetrie
.NET
.NET Aspire Integrationen richten automatisch Protokollierungs-, Tracing- und Metrikkonfigurationen ein, die manchmal als den Säulen der Beobachtbarkeitbezeichnet werden. Weitere Informationen zur Integrationsbeobachtbarkeit und Telemetrie finden Sie unter .NET.NET Aspire Integrationen Übersicht. Abhängig vom unterstützenden Dienst unterstützen einige Integrationen möglicherweise nur bestimmte Funktionen. Beispielsweise unterstützen einige Integrationen Protokollierung und Ablaufverfolgung, aber keine Metriken. Telemetriefunktionen können auch mithilfe der im Abschnitt Konfiguration dargestellten Techniken deaktiviert werden.
Protokollierung
Die .NET AspireAzure Web PubSub-Integration verwendet die folgenden Protokollkategorien:
Azure
Azure.Core
Azure.Identity
Azure.Messaging.WebPubSub
Verfolgung
Die .NET AspireAzure Web PubSub-Integration gibt die folgenden Ablaufverfolgungsaktivitäten mithilfe von OpenTelemetryaus:
"Azure.Messaging.WebPubSub.*"
Kennzahlen
Die .NET AspireAzure Web PubSub-Integration unterstützt standardmäßig keine Metriken aufgrund von Einschränkungen im Azure SDK für .NET. Wenn sich dies in Zukunft ändert, wird dieser Abschnitt aktualisiert, um diese Änderungen widerzuspiegeln.
Die Quelle für diesen Inhalt finden Sie auf GitHub, wo Sie auch Issues und Pull Requests erstellen und überprüfen können. Weitere Informationen finden Sie in unserem Leitfaden für Mitwirkende.
Feedback zu .NET Aspire
.NET Aspire ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben:
Verwenden Sie Azure, um Website-Front-Ends, Back-End-Dienste und ausgelöste Compute-on-Demand-Funktionen zu erstellen, die auch miteinander kommunizieren können.
Erstellen von End-to-End-Lösungen in Microsoft Azure zum Erstellen von Azure Functions-Lösungen, Implementieren und Verwalten von Web-Apps, Entwickeln von Lösungen mit Azure Storage u. v. m.
Erfahren Sie, wie Sie die .NET Aspire-Seq-Integration verwenden, um OTLP-Exporteure des OpenTelemetry-Protokolls hinzuzufügen, die Logs und Traces an eine SeqServersenden.