Rövid útmutató: Csevegőszoba létrehozása ASP.NET és SignalR szolgáltatással
Az Azure SignalR szolgáltatás a SignalR-en alapul a ASP.NET Core 2.1-hez, amely nem 100%-ig kompatibilis ASP.NET SignalR-sel. Az Azure SignalR Szolgáltatás a legújabb ASP.NET Core-technológiák alapján ASP.NET SignalR-adatprotokollt. Ha az Azure SignalR szolgáltatást ASP.NET SignalR-hez használja, bizonyos ASP.NET SignalR-funkciók már nem támogatottak, például az Azure SignalR nem játssza vissza az üzeneteket az ügyfél újracsatlakozásakor. Emellett a Forever Frame-átvitel és a JSONP nem támogatott. Néhány kódmódosításra és a függő kódtárak megfelelő verziójára van szükség ahhoz, hogy ASP.NET SignalR-alkalmazás működjön a SignalR Szolgáltatással.
A ASP.NET SignalR és ASP.NET Core SignalR közötti funkció-összehasonlítás teljes listájáért tekintse meg a verzióeltéréseket ismertető dokumentumot .
Ebben a rövid útmutatóban megtudhatja, hogyan kezdheti el a ASP.NET és az Azure SignalR szolgáltatást egy hasonló csevegőszoba-alkalmazáshoz.
Ha nem rendelkezik Azure-előfizetéssel, első lépésként mindössze néhány perc alatt létrehozhat egy ingyenes fiókot.
Fontos
A cikkben szereplő nyers kapcsolati sztring csak bemutató célokra jelennek meg.
A kapcsolati sztring tartalmazzák azokat az engedélyezési információkat, amelyekre az alkalmazásnak szüksége van az Azure SignalR Szolgáltatás eléréséhez. A kapcsolati sztring belüli hozzáférési kulcs hasonló a szolgáltatás gyökérjelszójához. Éles környezetben mindig védje a hozzáférési kulcsokat. Az Azure Key Vault használatával biztonságosan kezelheti és elforgathatja a kulcsokat, és biztonságossá teheti a kapcsolati sztring a Microsoft Entra-azonosítóval, és engedélyezheti a hozzáférést a Microsoft Entra-azonosítóval.
Kerülje a hozzáférési kulcsok más felhasználók számára való terjesztését, a szigorú kódolást, illetve a mások számára hozzáférhető egyszerű szövegek mentését. Ha úgy véli, hogy illetéktelenek lettek, forgassa el a kulcsokat.
Előfeltételek
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 az 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.
- Jelentkezzen be az Azure Portalra.
- A lap bal felső részén válassza az + Erőforrás létrehozása lehetőséget.
- 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.
- A SignalR szolgáltatás oldalán válassza a Létrehozás lehetőséget.
- 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.
- Válassza az Alapismeretek lap alján található Véleményezés + létrehozás gombot.
- 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.
- Amikor az üzembe helyezés befejeződött, válassza az Erőforrás megnyitása gombot.
- A SignalR erőforráslapján válassza a Bal oldali menü Beállítások területén található Kulcsok lehetőséget.
- Másolja ki az elsődleges kulcs kapcsolati sztringét . Erre a kapcsolati sztring van szüksége az alkalmazás konfigurálásához az oktatóanyag későbbi részében.
A kiszolgáló nélküli mód nem támogatott ASP.NET SignalR-alkalmazások esetében. Mindig használja az Alapértelmezett vagy a Klasszikus értéket az Azure SignalR Szolgáltatáspéldányhoz.
Az ebben a rövid útmutatóban használt Azure-erőforrásokat a SignalR-szolgáltatás parancsfájljának létrehozásával is létrehozhatja.
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
Amíg a szolgáltatás üzembe helyezése folyamatban van, térjünk át a kóddal folytatott munkavégzésre. Klónozza a mintaalkalmazást a GitHubról, állítsa be a SignalR Service kapcsolati sztringjét, és futtassa helyileg az alkalmazást.
Nyisson meg egy git terminálablakot. Váltson át arra a mappára, ahová a mintaprojektet klónozni szeretné.
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.
Csevegőszoba webalkalmazás konfigurálása és futtatása
Indítsa el a Visual Studiót, és nyissa meg a megoldást a klónozott adattár aspnet-samples/ChatRoom/ mappájában.
A böngészőben, ahol az Azure Portal meg van nyitva, keresse meg és válassza ki a létrehozott példányt.
Válassza a Kulcsok elemet a SignalR-szolgáltatáspéldány kapcsolati sztringjeinek megtekintéséhez.
Válassza ki és másolja a vágólapra az elsődleges kapcsolati sztring értékét.
Most állítsa be a kapcsolati sztring a web.config fájlban.
A cikkben szereplő nyers kapcsolati sztring csak bemutató célokra jelennek meg. Éles környezetben mindig védje a hozzáférési kulcsokat. Az Azure Key Vault használatával biztonságosan kezelheti és elforgathatja a kulcsokat, és biztonságossá teheti a kapcsolati sztring a Microsoft Entra-azonosítóval, és engedélyezheti a hozzáférést a Microsoft Entra-azonosítóval.
<configuration> <connectionStrings> <add name="Azure:SignalR:ConnectionString" connectionString="<Replace By Your Connection String>"/> </connectionStrings> ... </configuration>
A Startup.cs a hívás
MapSignalR()
helyett kapcsolati sztring kell hívniaMapAzureSignalR({YourApplicationName})
és átadnia, hogy az alkalmazás a SignalR üzemeltetése helyett csatlakozzon a szolgáltatáshoz. Cserélje le{YourApplicationName}
az alkalmazás nevére. Ez a név egy egyedi név, amely megkülönbözteti ezt az alkalmazást a többi alkalmazástól. Értékként is használhatóthis.GetType().FullName
.public void Configuration(IAppBuilder app) { // Any connection or hub wire up and configuration should go here app.MapAzureSignalR(this.GetType().FullName); }
Ezen API-k használata előtt hivatkoznia kell a szolgáltatás SDK-jára is. Az Eszközök | megnyitása NuGet Csomagkezelő | Csomagkezelő Konzol és futtatás parancs:
Install-Package Microsoft.Azure.SignalR.AspNet
A módosításokon kívül minden más ugyanaz marad, továbbra is használhatja a már ismert központi felületet az üzleti logika írásához.
Feljegyzés
A megvalósítás során egy végpontot
/signalr/negotiate
az Azure SignalR Service SDK tárgyal. Különleges tárgyalási választ ad vissza, amikor az ügyfelek megpróbálnak csatlakozni az ügyfelekhez, és átirányítják az ügyfeleket a kapcsolati sztring definiált szolgáltatásvégpontra.Nyomja le az F5 billentyűt a projekt hibakeresési módban való futtatásához. Láthatja, hogy az alkalmazás helyileg fut. A SignalR-futtatókörnyezet helyett most már az Azure SignalR szolgáltatáshoz csatlakozik.
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:
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.
Az ekkor megnyíló új ablakban válassza ki az erőforráscsoportot, és kattintson az Erőforráscsoport törlése elemre.
Az új ablakban írja be a törölni kívánt erőforráscsoport nevét, majd kattintson a Törlés elemre.
Fontos
Az erőforráscsoport törlése nem visszaállítható; az erőforráscsoport és a benne foglalt erőforrások véglegesen törlődnek. Figyeljen arra, hogy ne töröljön véletlenül erőforráscsoportot vagy erőforrásokat. Ha a jelen minta üzemeltetését végző erőforrásokat egy meglévő, megtartani kívánt erőforrásokat tartalmazó erőforráscsoportban hozta létre, az erőforrásokat az erőforráscsoport törlése helyett külön-külön törölheti a megfelelő panelekről.
Jelentkezzen be az Azure Portalra, és válassza az Erőforráscsoportok elemet.
A Szűrés név alapján... mezőbe írja be az erőforráscsoport nevét. Ebben a rövid útmutatóban a SignalRTestResources nevű erőforráscsoportot használtuk. Az eredménylistában kattintson a … ikonra az erőforráscsoport mellett, majd kattintson az Erőforráscsoport törlése lehetőségre.
A rendszer néhány pillanaton belül törli az erőforráscsoportot és a benne foglalt erőforrásokat.
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 létrehozott egy új Azure SignalR Service-erőforrást, és egy ASP.NET webalkalmazással használta. A következő lépésben megtudhatja, hogyan fejleszthet valós idejű alkalmazásokat az Azure SignalR Service és a ASP.NET Core használatával.