Schnellstart: Erstellen eines Chatraums mit ASP.NET und SignalR Service

Azure SignalR Service basiert auf SignalR für ASP.NET Core 2.1. Diese Version ist nicht zu 100 % kompatibel mit ASP.NET SignalR. Azure SignalR Service implementierte ASP.NET SignalR-Datenprotokoll basierend auf den neuesten ASP.NET Core-Technologien neu. Wenn Sie Azure SignalR-Dienst für ASP.NET SignalR verwenden, werden einige ASP.NET SignalR-Features nicht mehr unterstützt, z. B. gibt Azure SignalR keine Nachrichten wieder, wenn der Client erneut verbunden ist. Außerdem werden der Forever Frame-Transport und JSONP nicht unterstützt. Einige Codeänderungen und die richtige Version der abhängigen Bibliotheken sind erforderlich, damit die ASP.NET SignalR-Anwendung mit SignalR Service funktioniert.

Eine vollständige Liste des Funktionsvergleichs zwischen ASP.NET SignalR und ASP.NET Core SignalR finden Sie im Dokument zu den Versionsunterschieden.

In dieser Schnellstartanleitung erfahren Sie, wie Sie mit dem ASP.NET und dem Azure SignalR-Dienst für eine ähnliche Chatroomanwendung beginnen.

Wenn Sie kein Azure-Abonnement besitzen, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.

Voraussetzungen

Treten Probleme auf? Verwenden Sie den Leitfaden zur Problembehandlung, oder informieren Sie uns.

Anmelden bei Azure

Melden Sie sich mit Ihrem Azure-Konto beim Azure-Portal an.

Treten Probleme auf? Verwenden Sie den Leitfaden zur Problembehandlung, oder informieren Sie uns.

In diesem Abschnitt erstellen Sie eine einfache Azure SignalR-Instanz für Ihre App. In den folgenden Schritten wird das Azure-Portal für die Erstellung einer neuen Instanz verwendet. Sie können jedoch auch die Azure CLI verwenden. Weitere Informationen finden Sie unter dem Befehl az signalr create in der Azure SignalR Service-CLI-Referenz.

  1. Melden Sie sich beim Azure-Portal an.
  2. Wählen Sie links oben auf der Seite die Option + Ressource erstellen aus.
  3. Geben Sie auf der Seite Ressource erstellen im Textfeld Dienste und Marketplace durchsuchen den Text signalr ein und wählen Sie dann SignalR Service aus der Liste aus.
  4. Klicken Sie auf der Seite SignalR Service auf Erstellen.
  5. Geben Sie auf der Registerkarte Grundlagen die grundlegenden Informationen für Ihre neue SignalR Service-Instanz ein. Geben Sie die folgenden Werte ein:
Feld Empfohlener Wert BESCHREIBUNG
Abonnement Auswählen Ihres Abonnements Wählen Sie das Abonnement aus, das Sie verwenden möchten, um eine neue SignalR Service-Instanz zu erstellen.
Ressourcengruppe Erstellen einer Ressourcengruppe namens SignalRTestResources Wählen Sie eine Ressourcengruppe für Ihre SignalR-Ressource aus, oder erstellen Sie eine. Es ist hilfreich, für dieses Tutorial eine neue Ressourcengruppe zu erstellen, anstatt eine vorhandene Ressourcengruppe zu verwenden. Löschen Sie die Ressourcengruppe, um nach Abschluss des Tutorials Ressourcen freizugeben.

Durch das Löschen einer Ressourcengruppe werden auch alle Ressourcen dieser Gruppe gelöscht. Diese Aktion kann nicht rückgängig gemacht werden. Bevor Sie eine Ressourcengruppe löschen, stellen Sie sicher, dass sie keine Ressourcen enthält, die Sie behalten möchten.

Weitere Informationen finden Sie unter Verwenden von Ressourcengruppen zum Verwalten von Azure-Ressourcen.
Ressourcenname testsignalr Geben Sie für die SignalR-Ressource einen eindeutigen Ressourcennamen ein. Wenn testsignalr bereits in Ihrer Region belegt ist, fügen Sie Ziffern oder Zeichen hinzu, bis der Name eindeutig ist.

Der Name muss zwischen 1 und 63 Zeichen lang sein und darf nur Zahlen, Buchstaben und den Bindestrich (-) enthalten. Der Name darf weder mit dem Bindestrich beginnen oder enden noch mehrere aufeinanderfolgende Bindestriche enthalten.
Region Wählen Sie Ihre Region aus. Wählen Sie die entsprechende Region für Ihre neue SignalR Service-Instanz aus.

Azure SignalR Service ist derzeit nicht in allen Regionen verfügbar. Weitere Informationen finden Sie unter Verfügbare Produkte nach Region.
Preisstufe Klicken Sie auf Ändern und dann auf Free (nur Dev/Test). Klicken Sie auf Auswählen, um Ihre Tarifauswahl zu bestätigen. Azure SignalR Service bietet drei Tarife: Free, Standard und Premium. Für Tutorials wird der Tarif Free verwendet, sofern in den Voraussetzungen nichts anderes angegeben ist.

Weitere Informationen zu den Funktionsunterschieden zwischen Tarifen und Preisen finden Sie unter Azure SignalR Service – Preise.
Dienstmodus Wählen Sie den entsprechenden Dienstmodus Verwenden Sie Standard, wenn Sie die SignalR-Hublogik in Ihren Web-Apps hosten und den SignalR Service als Proxy verwenden. Verwenden Sie Serverlos, wenn Sie serverlose Technologien wie Azure Functions verwenden, um die SignalR-Hublogik zu hosten.

Der Modus Klassisch ist nur für die Abwärtskompatibilität vorgesehen und wird nicht empfohlen.

Weitere Informationen finden Sie unter Dienstmodi in Azure SignalR Service.

Sie müssen die Einstellungen auf den Registerkarten Netzwerk und Tags für die SignalR-Tutorials nicht ändern.

  1. Klicken Sie unten auf der Registerkarte Grundlagen auf die Schaltfläche Überprüfen und erstellen.
  2. Überprüfen Sie auf der Registerkarte Überprüfen und erstellen die Werte und klicken Sie dann auf Erstellen. Die Bereitstellung dauert ein paar Augenblicke.
  3. Klicken Sie nach Abschluss der Bereitstellung auf die Schaltfläche Zu Ressource wechseln.
  4. Klicken Sie auf der SignalR-Ressourcenseite im Menü auf der linken Seite unter Einstellungen auf Schlüssel.
  5. Kopieren Sie die Verbindungszeichenfolge für den Primärschlüssel. Sie benötigen diese Verbindungszeichenfolge später in diesem Tutorial, um Ihre App zu konfigurieren.

Der serverlose Modus wird für ASP.NET SignalR-Anwendungen nicht unterstützt. Verwenden Sie immer Standard oder Klassisch für die Azure SignalR Service-Instanz.

Sie können die in diesem Schnellstart verwendeten Azure-Ressourcen auch mit Erstellen eines SignalR Service-Skripts erstellen.

Treten Probleme auf? Verwenden Sie den Leitfaden zur Problembehandlung, oder informieren Sie uns.

Klonen der Beispielanwendung

Während der Dienst bereitgestellt wird, arbeiten wird mit dem Code. Klonen Sie die Beispiel-App von GitHub, legen Sie die Verbindungszeichenfolge des SignalR-Diensts fest, und führen Sie die Anwendung lokal aus.

  1. Öffnen Sie ein Git-Terminalfenster. Wechseln Sie in einen Ordner, in dem Sie das Beispielprojekt klonen möchten.

  2. Führen Sie den folgenden Befehl aus, um das Beispielrepository zu klonen. Dieser Befehl erstellt eine Kopie der Beispiel-App auf Ihrem Computer.

    git clone https://github.com/aspnet/AzureSignalR-samples.git
    

Treten Probleme auf? Verwenden Sie den Leitfaden zur Problembehandlung, oder informieren Sie uns.

Konfigurieren und Ausführen der Chatraum-Web-App

  1. Starten Sie Visual Studio, und öffnen Sie die Projektmappe im Ordner aspnet-samples/ChatRoom/ des geklonten Repositorys.

  2. Suchen Sie im Browser, in dem das Azure-Portal geöffnet ist, nach der von Ihnen erstellten Instanz, und wählen Sie diese aus.

  3. Wählen Sie Schlüssel aus, um die Verbindungszeichenfolgen für die SignalR-Dienstinstanz anzuzeigen.

  4. Wählen Sie die primäre Verbindungszeichenfolge aus, und kopieren Sie diese.

  5. Legen Sie nun die Verbindungszeichenfolge in der Datei web.config fest.

    <configuration>
    <connectionStrings>
        <add name="Azure:SignalR:ConnectionString" connectionString="<Replace By Your Connection String>"/>
    </connectionStrings>
    ...
    </configuration>
    
  6. In Startup.cs müssen Sie anstelle von MapSignalR()MapAzureSignalR({YourApplicationName}) aufrufen und die Verbindungszeichenfolge übergeben, damit die Anwendung eine Verbindung mit dem Dienst herstellt, anstatt SignalR selbst zu hosten. Ersetzen Sie {YourApplicationName} durch den Namen Ihrer Anwendung. Dieser Name ist ein eindeutiger Name, um diese Anwendung von Ihren anderen Anwendungen zu unterscheiden. Sie können this.GetType().FullName als Wert verwenden.

    public void Configuration(IAppBuilder app)
    {
        // Any connection or hub wire up and configuration should go here
        app.MapAzureSignalR(this.GetType().FullName);
    }
    

    Sie müssen auch auf das Dienst-SDK verweisen, bevor Sie diese APIs verwenden. Öffnen Sie Extras | NuGet-Paket-Manager | Paket-Manager-Konsole, und führen Sie den folgenden Befehl aus:

    Install-Package Microsoft.Azure.SignalR.AspNet
    

    Abgesehen von diesen Änderungen bleibt alles andere gleich. Sie können noch immer die Hubschnittstelle verwenden, mit der Sie bereits vertraut sind, um Geschäftslogik zu schreiben.

    Hinweis

    In der Implementierung wird ein Endpunkt /signalr/negotiate für die Aushandlung durch das Azure SignalR Service SDK bereitgestellt. Er gibt eine spezielle Aushandlungsantwort zurück, wenn Clients versuchen, eine Verbindung herzustellen, und leitet Clients an den in der Verbindungszeichenfolge definierten Dienstendpunkt weiter.

  7. Drücken Sie F5, um das Projekt im Debugmodus auszuführen. Sie können erkennen, dass die Anwendung lokal ausgeführt wird. Anstatt eine SignalR-Laufzeit durch die Anwendung selbst zu hosten, wird nun eine Verbindung mit Azure SignalR Service hergestellt.

Treten Probleme auf? Verwenden Sie den Leitfaden zur Problembehandlung, oder informieren Sie uns.

Bereinigen von Ressourcen

Wenn Sie diese App nicht weiter verwenden möchten, löschen Sie alle von diesem Schnellstart erstellten Ressourcen. Führen Sie dazu folgende Schritte durch, damit keine Gebühren anfallen:

  1. Klicken Sie ganz links im Azure-Portal auf Ressourcengruppen und anschließend auf die erstellte Ressourcengruppe. Alternativ können Sie das Suchfeld verwenden, um nach der Ressourcengruppe anhand ihres Namens zu suchen.

  2. Wählen im Fenster, das geöffnet wird, die Ressourcengruppe aus, und klicken Sie dann auf Ressourcengruppe löschen.

  3. Geben Sie in dem neuen Fenster den Namen der zu löschenden Ressourcengruppe ein, und klicken Sie dann auf Löschen.

Wichtig

Das Löschen einer Ressourcengruppe kann nicht rückgängig gemacht werden. Die Ressourcengruppe und alle darin enthaltenen Ressourcen werden also dauerhaft gelöscht. Achten Sie daher darauf, dass Sie nicht versehentlich die falsche Ressourcengruppe oder die falschen Ressourcen löschen. Falls Sie die Ressourcen zum Hosten dieses Beispiels in einer vorhandenen Ressourcengruppe erstellt haben, die beizubehaltende Ressourcen enthält, können Sie die Ressourcen einzeln über das jeweilige Blatt löschen, statt die Ressourcengruppe zu löschen.

Melden Sie sich beim Azure-Portal an, und klicken Sie auf Ressourcengruppen.

Geben Sie im Textfeld Nach Name filtern... den Namen Ihrer Ressourcengruppe ein. In dieser Schnellstartanleitung wurde eine Ressourcengruppe mit dem Namen SignalRTestResources verwendet. Klicken Sie in Ihrer Ressourcengruppe in der Ergebnisliste auf ... und dann auf Ressourcengruppe löschen.

Delete

Daraufhin werden die Ressourcengruppe und alle darin enthaltenen Ressourcen gelöscht.

Treten Probleme auf? Verwenden Sie den Leitfaden zur Problembehandlung, oder informieren Sie uns.

Nächste Schritte

In diesem Schnellstart haben Sie eine neue Azure SignalR Service-Ressource erstellt und diese mit einer ASP.NET-Web-App verwendet. Als nächstes erfahren Sie, wie Sie Echtzeitanwendungen mit Azure SignalR Service mit ASP.NET Core entwickeln.