Quickstart: In realtime berichten verzenden via de console-app

Azure SignalR-service biedt REST-API ter ondersteuning van server-naar-client-communicatie, zoals broadcasting. U kunt elke programmeertaal kiezen die een REST-API kan aanroepen. U kunt berichten verzenden naar alle verbonden clients, een specifieke client op basis van naam of een groep clients.

In deze snelstartgids leert u hoe u in C# berichten via een opdrachtregel-app kunt verzenden naar verbonden client-apps.

Vereisten

Deze quickstart kan worden uitgevoerd op macOS, Windows of Linux.

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

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 op https://portal.azure.com/.

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

Een exemplaar van de Azure SignalR Service maken

Uw toepassing maakt verbinding met een SignalR-Service-exemplaar in Azure.

  1. Selecteer de knop Nieuw in de linkerbovenhoek van Azure Portal. Typ in het scherm Nieuw SignalR Service in het zoekvak in en druk op Enter.

    Schermopname met zoekopdracht voor de SignalR-service in de Azure-portal.

  2. Selecteer SignalR Service in de zoekresultaten en selecteer Maken.

  3. Voer de volgende instellingen in.

    Instelling Voorgestelde waarde Beschrijving
    Resourcenaam Wereldwijd unieke naam Naam ter identificatie van uw nieuwe SignalR Service-exemplaar. Geldige tekens zijn a-z, 0-9 en -.
    Abonnement Uw abonnement Het abonnement waarin dit nieuwe SignalR Service-exemplaar is gemaakt.
    Resourcegroep myResourceGroup Naam voor de nieuwe resourcegroep waarin het SignalR Service-exemplaar moet worden gemaakt.
    Locatie VS - west Kies een regio bij u in de buurt.
    Prijscategorie Gratis Probeer Azure SignalR Service gratis uit.
    Aantal eenheden Niet van toepassing Het aantal eenheden geeft aan hoeveel verbindingen uw SignalR Service-exemplaar kan accepteren. Dit kan alleen worden geconfigureerd in de Standard-laag.
    Servicemodus Serverloos Voor gebruik met Azure Functions of REST-API.

    Schermopname met het tabblad Basisbeginselen van SignalR met waarden.

  4. Selecteer Maken om te beginnen met het implementeren van het SignalR-Service-exemplaar.

  5. Zodra het exemplaar is geïmplementeerd, opent u dit in de portal en zoekt u de bijbehorende Instellingen-pagina. Wijzig de instelling van Servicemodus alleen in Serverloos als u de Azure SignalR-service gebruikt via Azure Functions-binding of de REST-API. Laat de modus anders op Klassiek of Standaard staan.

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

De voorbeeldtoepassing klonen

Laten wij de code klaarmaken terwijl de service wordt geïmplementeerd. 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.

Het voorbeeldproject compileren en uitvoeren

Dit voorbeeld is een console-app die het gebruik van de Azure SignalR-service weergeeft. Deze biedt twee modi:

  • Servermodus: gebruik eenvoudige opdrachten om de REST-API voor Azure SignalR-service aan te roepen.
  • Clientmodus: maak verbinding met de Azure SignalR-service en ontvang berichten van de server.

U kunt ook zien hoe u een toegangstoken kunt genereren voor verificatie met Azure SignalR-service.

Het uitvoerbare bestand maken

We gebruiken macOS osx.10.13-x64 als voorbeeld. U kunt naslaginformatie vinden over het maken op andere platforms.

cd AzureSignalR-samples/samples/Serverless/

dotnet publish -c Release -r osx.10.13-x64

Een client starten

cd bin/Release/netcoreapp2.1/osx.10.13-x64/

Serverless client <ClientName> -c "<ConnectionString>" -h <HubName>

Een server starten

cd bin/Release/netcoreapp2.1/osx.10.13-x64/

Serverless server -c "<ConnectionString>" -h <HubName>

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

Het voorbeeld uitvoeren zonder te publiceren

U kunt ook de onderstaande opdracht uitvoeren om een server of client te starten

# Start a server
dotnet run -- server -c "<ConnectionString>" -h <HubName>

# Start a client
dotnet run -- client <ClientName> -c "<ConnectionString>" -h <HubName>

Gebruikersgeheimen gebruiken om een verbindingsreeks te specificeren

U kunt dotnet user-secrets set Azure:SignalR:ConnectionString "<ConnectionString>" uitvoeren in de hoofdmap van het voorbeeld. Daarna hebt u de optie -c "<ConnectionString>" niet meer nodig.

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

Gebruik

Gebruik de opdracht om het bericht te verzenden nadat de server is gestart:

send user <User Id>
send users <User List>
send group <Group Name>
send groups <Group List>
broadcast

U kunt meerdere clients met verschillende clientnamen starten.

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

Integratie met services van derden

Met behulp van de Azure SignalR-service kunt services van derden integreren met het systeem.

Definitie van technische specificaties

In de volgende tabel worden alle versies van de ondersteunde REST-API's weergegeven op datum. U kunt er ook het definitiebestand voor elke specifieke versie vinden

Versie API-status Door Specifiek
1.0-preview Beschikbaar 5002 Swagger
1.0 Beschikbaar Standard Swagger

De lijst met beschikbare API's voor elke specifieke versie is beschikbaar in de volgende lijst.

API 1.0-preview 1.0
Uitzenden naar alle
Uitzenden naar een groep
Uitzenden naar bepaalde groepen (afgeschaft) N / A
Naar een gebruiker verzenden
Verzenden naar bepaalde gebruikers (afgeschaft) N / A
Een gebruiker aan een groep toevoegen N / A
Een gebruiker uit een groep verwijderen N / A
Het bestaan van de gebruiker controleren N / A
Een gebruiker uit alle groepen verwijderen N / A
Naar een verbinding verzenden N / A
Een verbinding aan een groep toevoegen N / A
Een verbinding uit een groep verwijderen N / A
Een clientverbinding sluiten N / A
Status van service N / A

Uitzenden naar iedereen

Versie API HTTP-methode Aanvraag-URL Aanvraagbody
1.0-preview POST https://<instance-name>.service.signalr.net:5002/api/v1-preview/hub/<hub-name> {"target": "<method-name>", "arguments": [...]}
1.0 POST https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name> Hetzelfde als hierboven

Uitzenden naar een groep

Versie API HTTP-methode Aanvraag-URL Aanvraagbody
1.0-preview POST https://<instance-name>.service.signalr.net:5002/api/v1-preview/hub/<hub-name>/group/<group-name> {"target": "<method-name>", "arguments": [...]}
1.0 POST https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name> Hetzelfde als hierboven

Wordt verzonden naar een gebruiker

Versie API HTTP-methode Aanvraag-URL Aanvraagbody
1.0-preview POST https://<instance-name>.service.signalr.net:5002/api/v1-preview/hub/<hub-name>/user/<user-id> {"target": "<method-name>", "arguments": [...]}
1.0 POST https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/users/<user-id> Hetzelfde als hierboven

Een gebruiker aan een groep toevoegen

Versie API HTTP-methode Aanvraag-URL
1.0 PUT https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name>/users/<user-id>

Een gebruiker uit een groep verwijderen

Versie API HTTP-methode Aanvraag-URL
1.0 DELETE https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name>/users/<user-id>

Het bestaan van de gebruiker in een groep controleren

API-versie API HTTP-methode Aanvraag-URL
1.0 GET https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/users/<user-id>/groups/<group-name>
1.0 GET https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name>/users/<user-id>
Statuscode respons Beschrijving
200 Gebruiker bestaat
404 Gebruiker bestaat niet

Een gebruiker uit alle groepen verwijderen

API-versie API HTTP-methode Aanvraag-URL
1.0 DELETE https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/users/<user-id>/groups

Een bericht naar een verbinding verzenden

API-versie API HTTP-methode Aanvraag-URL Aanvraagtekst
1.0 POST https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/connections/<connection-id> { "target":"<method-name>", "arguments":[ ... ] }

Een verbinding aan een groep toevoegen

API-versie API HTTP-methode Aanvraag-URL
1.0 PUT https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name>/connections/<connection-id>
1.0 PUT https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/connections/<connection-id>/groups/<group-name>

Een verbinding uit een groep verwijderen

API-versie API HTTP-methode Aanvraag-URL
1.0 DELETE https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name>/connections/<connection-id>
1.0 DELETE https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/connections/<connection-id>/groups/<group-name>

Een clientverbinding sluiten

API-versie API HTTP-methode Aanvraag-URL
1.0 DELETE https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/connections/<connection-id>
1.0 DELETE https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/connections/<connection-id>?reason=<close-reason>

Service Health

API-versie API HTTP-methode Aanvraag-URL
1.0 GET https://<instance-name>.service.signalr.net/api/v1/health
Statuscode respons Beschrijving
200 Service goed
5xx Servicefout

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 in Azure Portal Resourcegroepen aan de linkerkant 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.

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

Volgende stappen

In deze quickstart hebt u geleerd hoe u een REST API gebruikt om een realtime bericht van SignalR Service naar clients te verzenden. Krijg vervolgens meer informatie over de manier waarop u Azure-functies ontwikkelt en implementeert met een SignalR Service-binding, die boven op de REST API is gebouwd.