Share via


Quickstart: Een chatruimte maken met ASP.NET en SignalR Service

Azure SignalR Service is gebaseerd op SignalR voor ASP.NET Core 2.1. Dit is niet 100% compatibel met ASP.NET SignalR. Azure SignalR Service heeft ASP.NET SignalR-gegevensprotocol opnieuw ontworpen op basis van de nieuwste ASP.NET Core-technologieën. Wanneer u Azure SignalR Service gebruikt voor ASP.NET SignalR, worden sommige ASP.NET SignalR-functies niet meer ondersteund. Zo worden berichten niet opnieuw afgespeeld wanneer de client opnieuw verbinding maakt. Ook worden het Forever Frame-transport en JSONP niet ondersteund. Een aantal codewijzigingen en de juiste versie van afhankelijke bibliotheken zijn benodigd om ervoor te zorgen dat de ASP.NET SignalR-toepassing werkt met SignalR Service.

Raadpleeg het document met versieverschillen voor een complete lijst met functievergelijkingen tussen ASP.NET SignalR en ASP.NET Core SignalR.

In deze quickstart leert u hoe u aan de slag gaat met de ASP.NET en Azure SignalR Service voor een vergelijkbare chatruimtetoepassing.

Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.

Vereisten

Ondervindt u problemen? Probeer de gids voor probleemoplossing of laat het ons weten.

Aanmelden bij Azure

Meld u met uw Azure-account aan bij Azure Portal.

Ondervindt u problemen? Probeer de gids voor probleemoplossing of laat het ons weten.

In deze sectie maakt u een azure SignalR-basisexemplaren die u voor uw app kunt gebruiken. In de volgende stappen wordt Azure Portal gebruikt om een nieuw exemplaar te maken, maar u kunt ook de Azure CLI gebruiken. Zie de opdracht az signalr create in de Naslaginformatie over azure SignalR Service CLI voor meer informatie.

  1. Meld u aan bij de Azure-portal.
  2. Selecteer in de linkerbovenhoek van de pagina + Een resource maken.
  3. Voer op de pagina Een resource maken in het tekstvak Search-service s en Marketplace signalr in en selecteer vervolgens SignalR Service in de lijst.
  4. Selecteer Maken op de pagina SignalR Service.
  5. Voer op het tabblad Basisinformatie de essentiële informatie in voor uw nieuwe SignalR Service-exemplaar. Voer de volgende waarden in:
Veld Voorgestelde waarde Beschrijving
Abonnement Kies uw abonnement Selecteer het abonnement dat u wilt gebruiken om een nieuw SignalR Service-exemplaar te maken.
Resourcegroep Maak een resourcegroep met de naam SignalRTestResources Selecteer of maak een resourcegroep voor uw SignalR-resource. Het is handig om een nieuwe resourcegroep te maken voor deze zelfstudie in plaats van een bestaande resourcegroep te gebruiken. Als u resources wilt vrijmaken nadat u de zelfstudie hebt voltooid, verwijdert u de resourcegroep.

Als u een resourcegroep verwijdert, worden ook alle resources verwijderd die deel uitmaken van de groep. Deze actie kan niet ongedaan worden gemaakt. Voordat u een resourcegroep verwijdert, moet u ervoor zorgen dat deze geen resources bevat die u wilt behouden.

Zie Resourcegroepen gebruiken om Azure-resources te beheren voor meer informatie.
Resourcenaam testsignalr Voer een unieke resourcenaam in voor de SignalR-resource. Als testsignalr al in uw regio wordt gebruikt, voegt u een cijfer of teken toe totdat de naam uniek is.

De naam moet een tekenreeks zijn van 1 tot 63 tekens die alleen cijfers, letters en het koppelteken (-) mag bevatten. De naam kan niet beginnen of eindigen met het afbreekstreepje en opeenvolgende afbreekstreepjes zijn niet geldig.
Regio Uw regio kiezen Selecteer de juiste regio voor uw nieuwe SignalR Service-exemplaar.

Azure SignalR Service is momenteel niet beschikbaar in alle regio's. Zie beschikbaarheid van azure SignalR-serviceregio's voor meer informatie
Prijscategorie Selecteer Wijzigen en kies vervolgens Gratis (alleen dev/test). Kies Selecteren om uw keuze in de prijscategorie te bevestigen. Azure SignalR Service heeft drie prijscategorieën: Gratis, Standard en Premium. Zelfstudies gebruiken de gratis laag, tenzij anders vermeld in de vereisten.

Zie prijzen voor Azure SignalR Service voor meer informatie over de verschillen in functionaliteit tussen lagen en prijzen
Servicemodus De juiste servicemodus kiezen Gebruik standaard wanneer u de Logica van de SignalR-hub in uw web-apps host en SignalR-service als proxy gebruikt. Gebruik serverloos wanneer u serverloze technologieën zoals Azure Functions gebruikt om de SignalR-hublogica te hosten.

Klassieke modus is alleen bedoeld voor compatibiliteit met eerdere versies en wordt niet aanbevolen om te gebruiken.

Zie de servicemodus in Azure SignalR Service voor meer informatie.

U hoeft de instellingen niet te wijzigen op de tabbladen Netwerken en tags voor de SignalR-zelfstudies.

  1. Selecteer de knop Beoordelen en maken onder aan het tabblad Basisbeginselen .
  2. Controleer op het tabblad Beoordelen en maken de waarden en selecteer Vervolgens Maken. Het duurt even voordat de implementatie is voltooid.
  3. Wanneer de implementatie is voltooid, selecteert u de knop Ga naar resource .
  4. Selecteer op de pagina SignalR-resource sleutels in het menu aan de linkerkant, onder Instellingen.
  5. Kopieer de Verbinding maken iontekenreeks voor de primaire sleutel. U hebt deze verbindingsreeks nodig om uw app verderop in deze zelfstudie te configureren.

Serverloze modus wordt niet ondersteund voor ASP.NET SignalR-toepassingen. Gebruik altijd Standaard of Klassiek voor het Azure SignalR Service-exemplaar.

U kunt de Azure-resources die in deze quickstart worden gebruikt ook maken met Een SignalR Service-script maken.

Ondervindt u problemen? Probeer de gids voor probleemoplossing of laat het ons weten.

De voorbeeldtoepassing klonen

Terwijl de service wordt geïmplementeerd, gaan we met code werken. Kloon de voorbeeld-app vanuit GitHub, stel de SignalR Service-verbindingsreeks in en voer de toepassing lokaal uit.

  1. Open een nieuw git-terminalvenster. Ga naar een map waarin u het voorbeeldproject wilt klonen.

  2. Voer de volgende opdracht uit om de voorbeeldopslagplaats te klonen. Deze opdracht maakt een kopie van de voorbeeld-app op uw computer.

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

Ondervindt u problemen? Probeer de gids voor probleemoplossing of laat het ons weten.

Chatroom-web-app

  1. Start Visual Studio en open de oplossing in de map aspnet-samples/ChatRoom/ van de gekloonde opslagplaats.

  2. Zoek en selecteer het exemplaar dat u hebt gemaakt in de browser waarin Azure Portal is geopend.

  3. Selecteer Sleutels om de verbindingsreeksen voor het service-exemplaar van SignalR weer te geven.

  4. Selecteer en kopieer de primaire verbindingsreeks.

  5. Stel nu in het bestand web.config de verbindingsreeks in.

    <configuration>
    <connectionStrings>
        <add name="Azure:SignalR:ConnectionString" connectionString="<Replace By Your Connection String>"/>
    </connectionStrings>
    ...
    </configuration>
    
  6. In Startup.cs moet u niet MapSignalR() maar MapAzureSignalR({YourApplicationName}) aanroepen en de verbindingsreeks doorgeven om de toepassing verbinding te laten maken met de service in plaats van SignalR zelf te hosten. Vervang {YourApplicationName} door de naam van uw toepassing. Deze naam is een unieke naam waarmee u deze toepassing kunt onderscheiden van uw andere toepassingen. U kunt this.GetType().FullName als de waarde gebruiken.

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

    U moet ook verwijzen naar de service-SDK voordat u deze API's gebruikt. Open Extra > NuGet-pakketbeheer > Package Manager-console en voer de volgende opdracht uit:

    Install-Package Microsoft.Azure.SignalR.AspNet
    

    Met uitzondering van deze wijzigingen blijft de rest onveranderd; u kunt gebruik blijven maken van de hubinterface die u al kent om bedrijfslogica te schrijven.

    Notitie

    In de implementatie wordt een eindpunt /signalr/negotiate weergegeven voor onderhandeling door de Azure SignalR Service-SDK. Er wordt een speciaal onderhandelingsantwoord geretourneerd wanneer clients verbinding proberen te maken en clients proberen door te sturen naar het service-eindpunt dat in de verbindingsreeks is gedefinieerd.

  7. Druk op F5 om het project uit te voeren in de foutopsporingsmodus. U kunt zien dat de toepassing lokaal wordt uitgevoerd. In plaats van een SignalR-runtime door de toepassing zelf te laten hosten, wordt nu verbinding gemaakt met de Azure SignalR Service.

Ondervindt u problemen? Probeer de gids voor probleemoplossing of laat het ons weten.

Resources opschonen

Als u deze app niet verder gaat gebruiken, kunt u alle resources verwijderen die door deze Quick Start zijn aangemaakt door de onderstaande stappen te volgen, zodat u geen kosten in rekening worden gebracht:

  1. Selecteer links in de Azure-portal de optie Resourcegroepen en selecteer vervolgens de resourcegroep die u hebt gemaakt. U kunt ook het zoekvak gebruiken om de resourcegroep op de naam te zoeken.

  2. Selecteer in het venster dat wordt geopend, de resourcegroep en klik op Resourcegroep verwijderen.

  3. Voer in het nieuwe venster de naam in van de resourcegroep die u wilt verwijderen en klik vervolgens op Verwijderen.

Belangrijk

Het verwijderen van een resourcegroep kan niet ongedaan worden gemaakt. De resourcegroep en alle bijbehorende resources worden permanent verwijderd. Zorg ervoor dat u niet per ongeluk de verkeerde resourcegroep of resources verwijdert. Als u de resources voor het hosten van dit voorbeeld in een bestaande resourcegroep hebt gemaakt en deze groep ook resources bevat die u wilt behouden, kunt u elke resource afzonderlijk verwijderen via hun respectievelijke blade.

Meld u aan bij de Azure-portal en selecteer Resourcegroepen.

Typ de naam van de resourcegroep in het tekstvak Filteren op naam.... In de instructies voor deze snelstart is een resourcegroep met de naam SignalRTestResources gebruikt. Klik in de resourcegroep in de lijst met resultaten op ... en vervolgens op Resourcegroep verwijderen.

Delete

Na enkele ogenblikken worden de resourcegroep en alle resources in de groep verwijderd.

Ondervindt u problemen? Probeer de gids voor probleemoplossing of laat het ons weten.

Volgende stappen

In deze quickstart hebt u een nieuwe Azure SignalR Service-resource gemaakt en deze gebruikt voor een ASP.NET-web-app. Hierna leert u hoe u realtime toepassingen ontwikkelt met behulp van Azure SignalR Service met ASP.NET Core.