Az Azure SignalR szolgáltatással kapcsolatos gyakori kérdések

Készen áll az Azure SignalR szolgáltatás éles használatra?

Igen, mind a ASP.NET Core SignalR, mind a ASP.NET SignalR támogatása általánosan elérhető.

Több alkalmazáskiszolgáló esetén az ügyfélüzenetek az összes kiszolgálóra vagy csak egy kiszolgálóra érkeznek?

Az ügyfél és az alkalmazáskiszolgáló között egy-az-egyhez megfeleltetés van. Az egyik ügyféltől érkező üzenetek mindig ugyanarra az alkalmazáskiszolgálóra kerülnek.

A leképezés addig marad fenn, amíg az ügyfél vagy az alkalmazáskiszolgáló le nem bontja a kapcsolatot.

Ha az egyik alkalmazáskiszolgálóm leállt, hogyan találhatom meg, és kaphatok értesítést?

Az Azure SignalR Szolgáltatás figyeli az alkalmazáskiszolgálók szívveréseit. Ha a szívverések adott ideig nem érkeznek meg, az alkalmazáskiszolgáló offline állapotúnak minősül. Az alkalmazáskiszolgálóhoz hozzárendelt összes ügyfélkapcsolat megszakad.

Miért okoz kivételt az egyéni IUserIdProviderem, amikor ASP.NET Core SignalR SDK-ról az Azure SignalR Service SDK-ra váltok?

A paraméter HubConnectionContext context eltér a ASP.NET Core SignalR SDK és az Azure SignalR Service SDK között, amikor IUserIdProvider meghívják.

Az ASP.NET Core SignalR-ben HubConnectionContext context a fizikai ügyfélkapcsolat környezete, amely minden tulajdonságra érvényes értékeket tartalmaz.

Az Azure SignalR Service SDK-ban HubConnectionContext context a logikai ügyfélkapcsolat kontextusa. A fizikai ügyfél csatlakozik az Azure SignalR szolgáltatáspéldányhoz, ezért csak korlátozott számú tulajdonságot ad meg.

Egyelőre csak HubConnectionContext.GetHttpContext() és HubConnectionContext.User elérhetőek a hozzáféréshez. Ellenőrizheti a forráskódot.

Konfigurálhatom a kiszolgálóoldali Azure SignalR Szolgáltatásban elérhető átviteleket a ASP.NET Core SignalR használatával? Letilthatom például a WebSocket-átvitelt?

Igen. A konfigurálás módját a Transport Configuration (Átviteli konfiguráció ) című témakörben találhatja meg.

Az ügyféloldali átviteleket az ASP.NET Core SignalR-konfigurációban dokumentált módon is konfigurálhatja.

Mi a metrikák jelentése, például az üzenetek száma vagy a kapcsolatok száma az Azure Portalon? Milyen típusú összesítést válasszak?

A metrikák kiszámításának részleteit az Azure SignalR Service Üzenetek és kapcsolatok szolgáltatásában találhatja meg.

Az Azure SignalR Service-erőforrások áttekintési paneljén már kiválasztottuk a megfelelő összesítési típust. A támogatott metrikákat hivatkozásként használhatja az Azure Monitorral .

Mi a "Default", a "Serverless" és a "Classic" szolgáltatási mód jelentése? Hogyan választhatok?

Új alkalmazások esetén csak alapértelmezett és kiszolgáló nélküli módot kell használni. A fő különbség az, hogy vannak-e olyan alkalmazáskiszolgálók, amelyek kiszolgálókapcsolatokat létesítenek a szolgáltatáshoz (például a szolgáltatáshoz való csatlakozáshoz).AddAzureSignalR() Ha igen, használja az alapértelmezett módot, ellenkező esetben használjon kiszolgáló nélküli módot.

A klasszikus mód a meglévő alkalmazások visszamenőleges kompatibilitására lett tervezve, ezért nem ajánlott új alkalmazásokhoz használni.

A szolgáltatás módról további információt az Azure SignalR Service szolgáltatás szolgáltatásában talál.

Küldhetek üzenetet az ügyfélről kiszolgáló nélküli módban?

Ha a SignalR-példányban konfigurálja a felsőbb rétegbeli végpontokat, üzenetet küldhet az ügyféltől. A felsőbb rétegbeli végpontok olyan végpontok, amelyek üzeneteket és kapcsolati eseményeket fogadhatnak a SignalR szolgáltatástól. Ha nincsenek felsőbb rétegbeli végpontok konfigurálva, a rendszer figyelmen kívül hagyja az ügyféltől érkező üzeneteket.

További információ: Felsőbb rétegbeli végpontok.

A felsőbb rétegbeli végpontok funkció jelenleg nyilvános előzetes verzióban érhető el.

Vannak funkcióbeli különbségek az Azure SignalR szolgáltatás és a ASP.NET SignalR használata között?

Az Azure SignalR Szolgáltatás használatakor a ASP.NET SignalR egyes API-jait és funkcióit nem támogatja a rendszer:

  • Az ügyfelek és a központ (gyakran nevezik HubState) közötti tetszőleges állapot átadásának képessége nem támogatott.
  • Az PersistentConnection osztály nem támogatott.
  • A Forever Frame átvitel nem támogatott.
  • Az Azure SignalR Szolgáltatás már nem játssza vissza az ügyfélnek küldött üzeneteket, ha az ügyfél offline állapotban van.
  • Az Azure SignalR Szolgáltatás használatakor a rendszer mindig egy ügyfélkapcsolat forgalmát irányítja (más néven ragadós) egy alkalmazáskiszolgáló-példányra a kapcsolat időtartama alatt.

A ASP.NET SignalR támogatása a kompatibilitásra összpontosít, így a ASP.NET Core SignalR nem minden új funkciója támogatott. A MessagePack és a Stream például csak ASP.NET Core SignalR-alkalmazásokhoz érhető el.

Az Azure SignalR szolgáltatást különböző szolgáltatási módokhoz konfigurálhatja: Classic, Defaultés Serverless. A Serverless mód ASP.NET nem támogatott. Az adatsík REST API-ja szintén nem támogatott.

Hol találhatók az adataim?

Az Azure SignalR szolgáltatás nem tárol ügyféladatokat. Ha az Azure SignalR Szolgáltatást más Azure-szolgáltatásokkal, például az Azure Storage diagnosztikai szolgáltatással együtt használja, tekintse meg az Azure Adatvédelmi áttekintését (tanulmányt) az azure-régiók adatainak tárolásáról.

Hogyan választani az Azure SignalR szolgáltatás és az Azure Web PubSub szolgáltatás között?

Az Azure SignalR Service és az Azure Web PubSub szolgáltatás egyaránt segít az ügyfeleknek valós idejű webalkalmazások nagy léptékű és magas rendelkezésre állású létrehozásában, és lehetővé teszik az ügyfelek számára, hogy az üzenetkezelési infrastruktúra kezelése helyett az üzleti logikájukra összpontosítsanak. Általában akkor választhatja az Azure SignalR szolgáltatást, ha már használja a SignalR-kódtárat valós idejű alkalmazások létrehozásához. Ehelyett, ha egy általános megoldást keres valós idejű alkalmazás webSocket és közzététel-feliratkozási minta alapján történő létrehozására, választhatja az Azure Web PubSub szolgáltatást. Az Azure Web PubSub szolgáltatás nem helyettesíti az Azure SignalR szolgáltatást, és fordítva; különböző forgatókönyveket céloznak meg. Az alábbi útmutató segítséget nyújt a forgatókönyvhöz használni kívánt szolgáltatás kiválasztásában.

Az Azure SignalR szolgáltatás akkor megfelelőbb, ha:

  • Már használ ASP.NET vagy ASP.NET Core SignalR-t, elsősorban .NET-t használ, vagy integrálnia kell a .NET-ökoszisztémával (például a Blazorral).
  • A platformhoz elérhető egy SignalR-ügyfél.
  • A következők széles skáláját támogató, bevált protokollra van szüksége:
    • hívási minták (RPC és streamelés)
    • átvitelek (WebSocket, kiszolgáló által küldött események és hosszú lekérdezések)
  • Olyan ügyfélre van szüksége, amely az Ön nevében kezeli a kapcsolat élettartamát.

Az Azure Web PubSub szolgáltatás alkalmasabb olyan helyzetekre, amikor:

  • Valós idejű alkalmazásokat kell létrehoznia a WebSocket technológiája alapján, vagy közzé kell tennie a WebSocketet.
  • Saját alprojektet szeretne létrehozni, vagy meglévő speciális protokollokat szeretne használni a WebSocketen keresztül (például MQTT, AMQP a WebSocketen keresztül).
  • Egy egyszerűsített kiszolgálót keres, például üzeneteket küld az ügyfélnek a konfigurált háttérrendszer használata nélkül.