Snelstartgids: Realtimeberichten verzenden via de console-app
Azure SignalR Service biedt REST API ter ondersteuning van server-naar-client-communicatiescenario's zoals uitzenden. U kunt elke programmeertaal kiezen waarmee REST API-aanroepen kunnen worden aangeroepen. U kunt berichten verzenden naar alle verbonden clients, een specifieke client op basis van naam of een groep clients.
In deze quickstart leert u hoe u berichten verzendt vanuit een opdrachtregel-app naar verbonden client-apps in C#.
Vereisten
Deze quickstart kan worden uitgevoerd op macOS, Windows of Linux.
- .NET Core-SDK
- Een teksteditor of code-editor naar keuze.
Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken 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.
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.
- Meld u aan bij het Azure-portaal.
- Selecteer in de linkerbovenhoek van de pagina + Een resource maken.
- 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.
- Selecteer Maken op de pagina SignalR Service.
- 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.
- Selecteer de knop Beoordelen en maken onder aan het tabblad Basisbeginselen .
- Controleer op het tabblad Beoordelen en maken de waarden en selecteer Vervolgens Maken. Het duurt even voordat de implementatie is voltooid.
- Wanneer de implementatie is voltooid, selecteert u de knop Ga naar resource .
- Selecteer sleutels in het menu aan de linkerkant onder Instellingen op de pagina SignalR-resource.
- Kopieer de verbindingsreeks voor de primaire sleutel. U hebt deze verbindingsreeks nodig om uw app verderop in deze zelfstudie te configureren.
Ondervindt u problemen? Probeer de gids voor probleemoplossing of laat het ons weten.
De voorbeeldtoepassing klonen
Terwijl de service wordt geïmplementeerd, gaan we de code voorbereiden. Kloon eerst de voorbeeld-app vanuit GitHub. Stel vervolgens de SignalR Service-verbindingsreeks in op de app. Voer tot slot de toepassing lokaal uit.
Open een nieuw git-terminalvenster. Ga naar een map waarin u het voorbeeldproject wilt klonen.
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 leert ook hoe u een toegangstoken genereert om te verifiëren 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 volgende 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 niet-Microsoft-services
Met de Azure SignalR-service kunt u niet-Microsoft-services 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 | Standaard | 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 | Aanvraagtekst |
---|---|---|---|
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> |
{"target": "<method-name>", "arguments": [...]} |
Uitzenden naar een groep
Versie | API HTTP-methode | Aanvraag-URL | Aanvraagtekst |
---|---|---|---|
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> |
{"target": "<method-name>", "arguments": [...]} |
Wordt verzonden naar een gebruiker
Versie | API HTTP-methode | Aanvraag-URL | Aanvraagtekst |
---|---|---|---|
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> |
{"target": "<method-name>", "arguments": [...]} |
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 | Aanvraagbody |
---|---|---|---|
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:
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.
Selecteer in het venster dat wordt geopend, de resourcegroep en klik op Resourcegroep verwijderen.
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.