Snabbstart: Sända realtidsmeddelanden från konsolapp
Azure SignalR Service har REST API för att stödja server till klient-kommunikationsscenarier, till exempel sändning. Du kan använda valfritt programmeringsspråk som göra REST API-anrop. Du kan publicera meddelanden till alla anslutna klienter, en specifik klient per namn eller en grupp med klienter.
I den här snabbstarten får du lära dig hur du sänder meddelanden från en kommandoradsapp till anslutna klientappar i C#.
Förutsättningar
Den här snabbstarten kan köras på macOS, Windows eller Linux.
- .NET Core SDK
- Valfri textredigerare eller kodredigerare.
Om du inte har en Azure-prenumerationkan du skapa ett kostnads fritt konto innan du börjar.
Har du problem? Prova felsökningsguiden eller berätta för oss.
Logga in på Azure
Logga in på Azure-portalen på https://portal.azure.com/ med ditt Azure-konto.
Har du problem? Prova felsökningsguiden eller berätta för oss.
Skapa en Azure SignalR Service-instans
Din app ansluter till en SignalR Service-instans i Azure.
Välj knappen Nytt högst upp till vänster i Azure-portalen. På sidan Nytt skriver du SignalR Service i sökrutan och trycker på RETUR.

Välj SignalR Service i sökresultatet och välj sedan Skapa.
Ange följande inställningar.
Inställning Föreslaget värde Beskrivning Resurs namn Globalt unikt namn Namn som identifierar din nya SignalR Service-instans. Giltiga tecken är a-z,0-9och-.Prenumeration Din prenumeration Prenumerationen som den här nya SignalR Service-instansen har skapats i. Resursgrupp myResourceGroup Namnet på den nya resursgruppen som SignalR Service-instansen ska skapas i. Plats USA, västra Välj en region nära dig. Prisnivå Kostnadsfri Prova Azure SignalR Service kostnadsfritt. Antal enheter Inte tillämpligt Antal enheter anger hur många anslutningar som SignalR Service-instansen kan acceptera. Det kan bara konfigureras på Standard-nivån. Tjänstläge Utan server För användning med Azure Functions eller REST API. 
Välj Skapa för att börja distribuera SignalR Service-instansen.
När instansen har distribuerats öppnar du den i portalen och letar upp dess inställnings sida. Ändra inställningen för tjänst läge till endast Server om du använder Azure SignalR-tjänsten via Azure Functions bindning eller REST API. Lämna det i klassiskt eller i annat fall.
Har du problem? Prova felsökningsguiden eller berätta för oss.
Klona exempelprogrammet
Medan tjänsten distribueras ska vi förbereda koden. Klona exempelappen från GitHub, ange SignalR Service-anslutningssträngen och kör programmet lokalt.
Öppna ett git-terminalfönster. Byt till en mapp där du vill klona exempelprojektet.
Klona exempellagringsplatsen med följande kommando. Detta kommando skapar en kopia av exempelappen på din dator.
git clone https://github.com/aspnet/AzureSignalR-samples.git
Har du problem? Prova felsökningsguiden eller berätta för oss.
Skapa och köra exempelappen
Det här exemplet är en konsolapp som visar användningen av Azure SignalR Service. Den har två lägen:
- Serverläge: använder enkla kommandon för att anropa Azure SignalR Service REST API.
- Klientläge: anslut till Azure SignalR Service och få meddelanden från servern.
Du kan även hitta hur du skapar en åtkomsttoken för autentisering med Azure SignalR Service.
Skapa den körbara filen
Vi använder macOS osx.10.13-x64 som exempel. Det finns referenser till hur du bygger på andra plattformar.
cd AzureSignalR-samples/samples/Serverless/
dotnet publish -c Release -r osx.10.13-x64
Starta en klient
cd bin/Release/netcoreapp2.1/osx.10.13-x64/
Serverless client <ClientName> -c "<ConnectionString>" -h <HubName>
Starta en server
cd bin/Release/netcoreapp2.1/osx.10.13-x64/
Serverless server -c "<ConnectionString>" -h <HubName>
Har du problem? Prova felsökningsguiden eller berätta för oss.
Kör exemplet utan att publicera
Du kan även köra kommandot nedan för att starta en server eller klient
# Start a server
dotnet run -- server -c "<ConnectionString>" -h <HubName>
# Start a client
dotnet run -- client <ClientName> -c "<ConnectionString>" -h <HubName>
Använda användarhemligheter för att ange anslutningssträng
Du kan köra dotnet user-secrets set Azure:SignalR:ConnectionString "<ConnectionString>" i exemplets rotkatalog. Efter det behöver du inte alternativet -c "<ConnectionString>" längre.
Har du problem? Prova felsökningsguiden eller berätta för oss.
Användning
När servern har startats använder du kommandot för att skicka meddelandet:
send user <User Id>
send users <User List>
send group <Group Name>
send groups <Group List>
broadcast
Du kan starta flera klienter med olika klientnamn.
Har du problem? Prova felsökningsguiden eller berätta för oss.
Integrering med tjänster från tredje part
Azure SignalR-tjänsten tillåter tredjepartstjänster att integrera med systemet.
Definition av tekniska specifikationer
Följande tabell visar alla versioner av de REST API:er som stöds hittills. Du hittar även definitionsfilen för varje specifika version
| Version | API-tillstånd | Door | Specifik |
|---|---|---|---|
1.0-preview |
Tillgängligt | 5002 | Swagger |
1.0 |
Tillgängligt | Standard | Swagger |
Listan över tillgängliga API:er för varje specifika version finns i följande lista.
| API | 1.0-förhandsversion | 1.0 |
|---|---|---|
| Sänd till alla | ✓ | ✓ |
| Sänd till en grupp | ✓ | ✓ |
| Sänd till vissa grupper | ✓ (inaktuellt) | N / A |
| Skicka till en användare | ✓ | ✓ |
| Skicka till vissa användare | ✓ (inaktuellt) | N / A |
| Lägga till användare i en grupp | N / A |
✓ |
| Ta bort en användare från en grupp | N / A |
✓ |
| Kontrollera om användaren finns | N / A |
✓ |
| Ta bort en användare från alla grupper | N / A |
✓ |
| Skicka till en anslutning | N / A |
✓ |
| Lägga till en anslutning till en grupp | N / A |
✓ |
| Ta bort en anslutning från en grupp | N / A |
✓ |
| Stäng en klientanslutning | N / A |
✓ |
| Tjänsthälsa | N / A |
✓ |
Sänd till alla
| Version | API HTTP-metoden | Begärans-URL | Begärandetext |
|---|---|---|---|
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> |
Samma som ovan |
Sänd till en grupp
| Version | API HTTP-metoden | Begärans-URL | Begärandetext |
|---|---|---|---|
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> |
Samma som ovan |
Skicka till en användare
| Version | API HTTP-metoden | Begärans-URL | Begärandetext |
|---|---|---|---|
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> |
Samma som ovan |
Lägga till användare i en grupp
| Version | API HTTP-metoden | Begärans-URL |
|---|---|---|
1.0 |
PUT |
https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name>/users/<user-id> |
Ta bort en användare från en grupp
| Version | API HTTP-metoden | Begärans-URL |
|---|---|---|
1.0 |
DELETE |
https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name>/users/<user-id> |
Kontrollera om användaren finns i en grupp
| API-version | API HTTP-metoden | Begärans-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> |
| Statuskod för svar | Beskrivning |
|---|---|
200 |
Användaren finns |
404 |
Användaren finns inte |
Ta bort en användare från alla grupper
| API-version | API HTTP-metoden | Begärans-URL |
|---|---|---|
1.0 |
DELETE |
https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/users/<user-id>/groups |
Skicka meddelande till en anslutning
| API-version | API HTTP-metoden | Begärans-URL | Begärandetext |
|---|---|---|---|
1.0 |
POST |
https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/connections/<connection-id> |
{ "target":"<method-name>", "arguments":[ ... ] } |
Lägga till en anslutning till en grupp
| API-version | API HTTP-metoden | Begärans-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> |
Ta bort en anslutning från en grupp
| API-version | API HTTP-metoden | Begärans-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> |
Stäng en klientanslutning
| API-version | API HTTP-metoden | Begärans-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-version | API HTTP-metoden | Begärans-URL |
|---|---|---|
1.0 |
GET |
https://<instance-name>.service.signalr.net/api/v1/health |
| Statuskod för svar | Beskrivning |
|---|---|
200 |
Service Good |
5xx |
Tjänstfel |
Har du problem? Prova felsökningsguiden eller berätta för oss.
Rensa resurser
Om du inte planerar att fortsätta använda den här appen tar du bort alla resurser som skapades i snabbstarten med följande steg, så att inga kostnader uppstår:
Välj Resursgrupper i Azure Portal längst till vänster och välj sedan den resursgrupp du skapat. Du kan också använda sökrutan till att hitta resursgruppen efter dess namn.
Markera resursgruppen i fönstret som öppnas och klicka sedan på Ta bort resursgrupp.
I det nya fönstret, skriv namnet på resursgruppen som ska tas bort och klicka sedan på Ta bort.
Har du problem? Prova felsökningsguiden eller berätta för oss.
Nästa steg
I den här snabbstarten har du lärt dig hur du använder REST API för att sända realtidsmeddelanden från SignalR Service till klienter. Härnäst kan du lära dig mer om hur du utvecklar Azure Functions distribuerar SignalR Service med SignalR Service bindning, som bygger på REST API.