Rövid útmutató: Valós idejű üzenetek szétküldése konzolalkalmazásból

Az Azure SignalR Szolgáltatás REST API-t biztosít a kiszolgáló–ügyfél közötti kommunikációs forgatókönyvek, például a műsorszórás támogatására. Bármely olyan programozási nyelvet választhat, amely REST API-hívásokat indíthat. Küldhet üzenetet minden csatlakoztatott ügyfélnek, név szerint egy adott ügyfélnek, vagy ügyfelek egy csoportjának.

Ebben a rövid útmutatóban megtudhatja, hogyan küldhet üzeneteket parancssori alkalmazásból a csatlakoztatott ügyfélalkalmazásoknak a C#-ban.

Előfeltételek

Ez a rövid útmutató macOS, Windows vagy Linux rendszeren is futtatható.

  • .NET Core SDK
  • Az Ön által választott szöveg- vagy kódszerkesztő.

Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.

Problémákat tapasztal? Próbálja ki a hibaelhárítási útmutatót , vagy tudassa velünk.

Bejelentkezés az Azure-ba

Jelentkezzen be az Azure Portalra Azure-fiókjával.

Problémákat tapasztal? Próbálja ki a hibaelhárítási útmutatót , vagy tudassa velünk.

Ebben a szakaszban egy alapszintű Azure SignalR-példányt hoz létre az alkalmazáshoz. Az alábbi lépések az Azure Portal használatával hoznak létre új példányt, de használhatja az Azure CLI-t is. További információ: az signalr create command in the Azure SignalR Service CLI Reference.

  1. Jelentkezzen be az Azure Portalra.
  2. A lap bal felső részén válassza az + Erőforrás létrehozása lehetőséget.
  3. Az Erőforrás létrehozása lap Search szolgáltatás és piactér szövegmezőjében adja meg a signalr kifejezést, majd válassza ki a SignalR szolgáltatást a listából.
  4. A SignalR szolgáltatás oldalán válassza a Létrehozás lehetőséget.
  5. Az Alapok lapon adja meg az új SignalR-szolgáltatáspéldány alapvető adatait. Írja be a következő értékeket:
Mező Ajánlott érték Leírás
Előfizetés Válassza ki az előfizetését Válassza ki azt az előfizetést, amelyet egy új SignalR-szolgáltatáspéldány létrehozásához szeretne használni.
Erőforráscsoport SignalRTestResources nevű erőforráscsoport létrehozása Válasszon ki vagy hozzon létre egy erőforráscsoportot a SignalR-erőforráshoz. Hasznos, ha egy új erőforráscsoportot hoz létre ehhez az oktatóanyaghoz ahelyett, hogy meglévő erőforráscsoportot használ. Ha az oktatóanyag elvégzése után szeretné felszabadítani az erőforrásokat, törölje az erőforráscsoportot.

Az erőforráscsoport törlése a csoporthoz tartozó összes erőforrást is törli. Ez a művelet nem vonható vissza. Mielőtt töröl egy erőforráscsoportot, győződjön meg arról, hogy nem tartalmazza a megtartani kívánt erőforrásokat.

További információk: Erőforráscsoportok használata az Azure-erőforrások kezeléséhez.
Erőforrás neve testsignalr Írja be a SignalR-erőforráshoz használandó egyedi erőforrásnevet. Ha a testsignalr már szerepel a régióban, adjon hozzá egy számjegyet vagy karaktert, amíg a név egyedi nem lesz.

A névnek 1–63 karakter hosszúságú sztringnek kell lennie, és csak számokat, betűket és kötőjelet (-) tartalmazhat. A név nem kezdődhet és nem végződhet kötőjeljellel, és az egymást követő kötőjelkarakterek érvénytelenek.
Régió Régió kiválasztása Válassza ki az új SignalR-szolgáltatáspéldány megfelelő régióját.

Az Azure SignalR szolgáltatás jelenleg nem érhető el minden régióban. További információ: Azure SignalR Service-régió rendelkezésre állása
Tarifacsomag Válassza a Módosítás lehetőséget, majd válassza az Ingyenes (Csak dev/Test) lehetőséget. Válassza a Kiválasztás lehetőséget a tarifacsomag kiválasztásának megerősítéséhez. Az Azure SignalR szolgáltatás három tarifacsomagot tartalmaz: ingyenes, standard és prémium. Az oktatóanyagok az ingyenes szintet használják, hacsak az előfeltételek másként nem rendelkeznek.

A szintek és a díjszabás közötti funkcióbeli különbségekről további információt az Azure SignalR Service díjszabásában talál .
Szolgáltatás mód Válassza ki a megfelelő szolgáltatási módot Az Alapértelmezett beállítást akkor használja, ha a SignalR hub logikáját üzemelteti a webalkalmazásokban, és proxyként használja a SignalR szolgáltatást. Kiszolgáló nélküli technológiát, például az Azure Functionst használva üzemeltetheti a SignalR hub logikáját.

A klasszikus mód csak a visszamenőleges kompatibilitást szolgálja, ezért nem ajánlott használni.

További információ: Szolgáltatás mód az Azure SignalR Service-ben.

A SignalR-oktatóanyagok Hálózatkezelés és Címkék lapján nem kell módosítania a beállításokat.

  1. Válassza az Alapismeretek lap alján található Véleményezés + létrehozás gombot.
  2. A Véleményezés + létrehozás lapon tekintse át az értékeket, majd válassza a Létrehozás lehetőséget. Az üzembe helyezés végrehajtása néhány percet vesz igénybe.
  3. Amikor az üzembe helyezés befejeződött, válassza az Erőforrás megnyitása gombot.
  4. A SignalR erőforráslapján válassza a bal oldali menü kulcsait a Gépház alatt.
  5. Másolja ki az elsődleges kulcshoz tartozó Csatlakozás ion sztringet. Erre a kapcsolati sztring van szüksége az alkalmazás konfigurálásához az oktatóanyag későbbi részében.

Problémákat tapasztal? Próbálja ki a hibaelhárítási útmutatót , vagy tudassa velünk.

A mintaalkalmazás klónozása

A szolgáltatás üzembe helyezése közben váltsunk a kód előkészítésére. Klónozza a mintaalkalmazást a GitHubról, állítsa be a SignalR Service kapcsolati sztringjét, és futtassa helyileg az alkalmazást.

  1. Nyisson meg egy git terminálablakot. Váltson át arra a mappára, ahová a mintaprojektet klónozni szeretné.

  2. Az alábbi parancs futtatásával klónozhatja a mintatárházat. Ez a parancs másolatot hoz létre a mintaalkalmazásról az Ön számítógépén.

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

Problémákat tapasztal? Próbálja ki a hibaelhárítási útmutatót , vagy tudassa velünk.

A minta létrehozása és futtatása

Ez a minta egy konzolalkalmazás, amely az Azure SignalR szolgáltatás használatát mutatja be. Kétféle üzemmódot biztosít:

  • Kiszolgáló üzemmód: egyszerű parancsok használatával hívja meg az Azure SignalR szolgáltatás REST API-ját.
  • Ügyfél üzemmód: csatlakozik az Azure SignalR szolgáltatáshoz, és üzeneteket fogad a kiszolgálótól.

Azt is megtudhatja, hogyan hozhat létre hozzáférési jogkivonatot az Azure SignalR Szolgáltatással való hitelesítéshez.

A végrehajtható fájl létrehozása

A példához a MacOS osx.10.13-x64 rendszert használjuk. A más platformokon való létrehozáshoz tekintse meg a referenciákat.

cd AzureSignalR-samples/samples/Serverless/

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

Indítson el egy ügyfelet

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

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

Indítson el egy kiszolgálót

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

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

Problémákat tapasztal? Próbálja ki a hibaelhárítási útmutatót , vagy tudassa velünk.

Futtassa a mintát közzététel nélkül

A következő parancs futtatásával is elindíthat egy kiszolgálót vagy ügyfelet

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

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

Használjon titkos felhasználói titkos kulcsokat a Kapcsolati sztring megadásához

A dotnet user-secrets set Azure:SignalR:ConnectionString "<ConnectionString>" futtatását a minta gyökérkönyvtárában végezheti. Ezután már nem lesz szüksége a -c "<ConnectionString>" lehetőségre.

Problémákat tapasztal? Próbálja ki a hibaelhárítási útmutatót , vagy tudassa velünk.

Használat

A kiszolgáló elindítása után a paranccsal küldjön üzenetet:

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

Több ügyfelet is indíthat különböző ügyfélnevekkel.

Problémákat tapasztal? Próbálja ki a hibaelhárítási útmutatót , vagy tudassa velünk.

Integráció nem Microsoft-szolgáltatások

Az Azure SignalR szolgáltatás lehetővé teszi, hogy a nem Microsoft-szolgáltatások integrálhatók a rendszerrel.

A műszaki specifikációk meghatározása

Az alábbi táblázat ismerteti a jelenleg támogatott REST API-k összes verzióját. Az egyes verziók definíciófájlját is megtalálja

Verzió API-állapot Ajtó Specifikusság
1.0-preview Rendelkezésre áll 5002 Swagger
1.0 Rendelkezésre áll Standard Swagger

Az egyes verziókhoz elérhető API-k listáját az alábbi lista tartalmazza.

API 1.0-előzetes verzió 1,0
Szétküldés mindenkinek
Szétküldés egy csoportnak
Szétküldés néhány csoportnak ✓ (elavult) N / A
Küldés felhasználónak
Küldés néhány felhasználónak ✓ (elavult) N / A
Felhasználó hozzáadása egy csoporthoz N / A
Felhasználó eltávolítása egy csoportból N / A
Felhasználói lét ellenőrzése N / A
Felhasználó eltávolítása az összes csoportból N / A
Küldés egy kapcsolatra N / A
Kapcsolat hozzáadása csoporthoz N / A
Kapcsolat eltávolítása egy csoportból N / A
Ügyfélkapcsolat bezárása N / A
Service Health N / A

Szétküldés mindenkinek

Verzió API HTTP-metódus Kérelem URL-címe Kérés törzse
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": [...]}

Szétküldés egy csoportnak

Verzió API HTTP-metódus Kérelem URL-címe Kérés törzse
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": [...]}

Küldés felhasználónak

Verzió API HTTP-metódus Kérelem URL-címe Kérés törzse
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": [...]}

Felhasználó hozzáadása egy csoporthoz

Verzió API HTTP-metódus Kérelem URL-címe
1.0 PUT https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name>/users/<user-id>

Felhasználó eltávolítása egy csoportból

Verzió API HTTP-metódus Kérelem URL-címe
1.0 DELETE https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name>/users/<user-id>

Felhasználói lét ellenőrzése egy csoportban

API-verzió API HTTP-metódus Kérelem URL-címe
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>
Válasz állapotkódja Leírás
200 A felhasználó létezik
404 A felhasználó nem létezik

Felhasználó eltávolítása az összes csoportból

API-verzió API HTTP-metódus Kérelem URL-címe
1.0 DELETE https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/users/<user-id>/groups

Üzenet küldése egy kapcsolatnak

API-verzió API HTTP-metódus Kérelem URL-címe A kérelem törzse
1.0 POST https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/connections/<connection-id> { "target":"<method-name>", "arguments":[ ... ] }

Kapcsolat hozzáadása csoporthoz

API-verzió API HTTP-metódus Kérelem URL-címe
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>

Kapcsolat eltávolítása egy csoportból

API-verzió API HTTP-metódus Kérelem URL-címe
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>

Ügyfélkapcsolat bezárása

API-verzió API HTTP-metódus Kérelem URL-címe
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-verzió API HTTP-metódus Kérelem URL-címe
1.0 GET https://<instance-name>.service.signalr.net/api/v1/health
Válasz állapotkódja Leírás
200 Szolgáltatás jó
5xx Szolgáltatáshiba

Problémákat tapasztal? Próbálja ki a hibaelhárítási útmutatót , vagy tudassa velünk.

Az erőforrások eltávolítása

Ha nem használja tovább az alkalmazást, akkor a következő lépésekkel a mintaalkalmazás által létrehozott összes erőforrást törölheti a költségek elkerülése érdekében:

  1. Az Azure Portalon válassza az Erőforráscsoportok lehetőséget a bal szélen, majd a létrehozott erőforráscsoport. Másik lehetőségként a keresőmezőben, név alapján is rákereshet az erőforráscsoportra.

  2. Az ekkor megnyíló új ablakban válassza ki az erőforráscsoportot, és kattintson az Erőforráscsoport törlése elemre.

  3. Az új ablakban írja be a törölni kívánt erőforráscsoport nevét, majd kattintson a Törlés elemre.

Problémákat tapasztal? Próbálja ki a hibaelhárítási útmutatót , vagy tudassa velünk.

Következő lépések

Ebben a rövid útmutatóban megtanulta, hogyan lehet a REST API használatával valós idejű üzenetet közvetíteni a SignalR Szolgáltatásból az ügyfeleknek. A következő lépésben megtudhatja, hogyan fejlesztheti és helyezheti üzembe az Azure Functionst a SignalR Service-kötéssel, amely a REST API-ra épül.