Nejčastější dotazy ke službě Azure SignalR

Je služba Azure SignalR připravená k produkčnímu použití?

Ano, podpora ASP.NET Core SignalR i ASP.NET SignalR jsou obecně dostupné.

Pokud existuje více aplikačních serverů, odesílají se klientské zprávy na všechny servery nebo jenom na jeden z nich?

Mezi klientem a aplikačním serverem je mapování 1:1. Zprávy z jednoho klienta se vždy posílají na stejný aplikační server.

Mapování se udržuje, dokud se klient nebo aplikační server neodpojí.

Pokud některý z mých aplikačních serverů nefunguje, jak ho najdu a dostanem oznámení?

Služba Azure SignalR monitoruje prezenčních signálů z aplikačních serverů. Pokud se prezenčních signálů po určitou dobu neobdrží, aplikační server se považuje za offline. Všechna klientská připojení mapovaná na tento aplikační server budou odpojena.

Proč vlastní IUserIdProvider vyvolá výjimku při přechodu ze sady ASP.NET Core SignalR SDK na sadu SDK služby Azure SignalR?

HubConnectionContext context Parametr se liší mezi sadou ASP.NET Core SignalR SDK a sadou SDK služby Azure SignalR, když IUserIdProvider je volána.

V ASP.NET Core SignalR HubConnectionContext context je kontext z fyzického připojení klienta s platnými hodnotami pro všechny vlastnosti.

V sadě SDK HubConnectionContext context služby Azure SignalR je kontext z logického připojení klienta. Fyzický klient je připojený k instanci služby Azure SignalR, takže je k dispozici pouze omezený počet vlastností.

Prozatím jsou k dispozici pouze HubConnectionContext.GetHttpContext() pro HubConnectionContext.User přístup. Zdrojový kód můžete zkontrolovat.

Můžu nakonfigurovat přenosy dostupné ve službě Azure SignalR na straně serveru se službou ASP.NET Core SignalR? Můžu například zakázat přenos protokolu WebSocket?

Ano. Informace o konfiguraci najdete v tématu Konfigurace přenosu.

Přenosy na straně klienta můžete nakonfigurovat také podle dokumentu v konfiguraci ASP.NET Core SignalR.

Jaký je význam metrik, jako je počet zpráv nebo počet připojení zobrazený na webu Azure Portal? Jaký typ agregace mám zvolit?

Podrobnosti o těchto metrikách najdete v tématu Zprávy a připojení ve službě Azure SignalR.

V podokně přehledu prostředků služby Azure SignalR jsme pro vás už zvolili odpovídající typ agregace. Jako referenci můžete použít podporované metriky ve službě Azure Monitor .

Jaký je význam režimů služby Výchozí, Bezserverová a Klasická? Jak můžu zvolit?

U nových aplikací by se měl používat jenom výchozí a bezserverový režim. Hlavním rozdílem je to, jestli máte aplikační servery, které navazují připojení serveru ke službě (například pro AddAzureSignalR() připojení ke službě). Pokud ano, použijte výchozí režim, jinak použijte bezserverový režim.

Klasický režim je navržený pro zpětnou kompatibilitu stávajících aplikací, takže by se neměl používat pro nové aplikace.

Další informace o režimu služby najdete v tématu Režim služby ve službě Azure SignalR.

Můžu odeslat zprávu z klienta v bezserverovém režimu?

Zprávu můžete odeslat z klienta, pokud v instanci SignalR nakonfigurujete nadřazené koncové body. Upstreamové koncové body jsou sada koncových bodů, které můžou přijímat zprávy a události připojení ze služby SignalR. Pokud nejsou nakonfigurované žádné nadřazené koncové body, budou zprávy z klienta ignorovány.

Další informace.viz Upstream koncové body.

Funkce upstreamových koncových bodů je aktuálně ve verzi Public Preview.

Existují nějaké rozdíly mezi funkcemi při používání služby Azure SignalR se službou ASP.NET SignalR?

Pokud používáte službu Azure SignalR, některá rozhraní API a funkce služby ASP.NET SignalR se nepodporují:

  • Možnost předat libovolný stav mezi klienty a centrem (často označovaným HubState) není podporovaná.
  • Třída PersistentConnection není podporovaná.
  • Přenos forever Frame není podporován.
  • Služba Azure SignalR už nepřehrává zprávy odeslané klientovi, když je klient offline.
  • Když používáte službu Azure SignalR, provoz pro jedno připojení klienta se vždy směruje (označuje se také jako rychlé) do jedné instance aplikačního serveru po dobu trvání připojení.

Podpora ASP.NET SignalR se zaměřuje na kompatibilitu, takže se nepodporují všechny nové funkce ze služby ASP.NET Core SignalR. Například MessagePack a Streaming jsou k dispozici pouze pro aplikace ASP.NET Core SignalR.

Službu Azure SignalR můžete nakonfigurovat pro různé režimy služeb: Classic, Defaulta Serverless. Režim Serverless není podporován pro ASP.NET. Rozhraní REST API roviny dat se také nepodporuje.

Kde se nacházejí moje data?

Služba Azure SignalR Service neukládá žádná zákaznická data. Pokud používáte službu Azure SignalR Společně s dalšími službami Azure, jako je Azure Storage pro diagnostiku, přečtěte si téma Přehled ochrany osobních údajů (dokument white paper) o zachování rezidence dat v oblastech Azure.

Návody si vybrat mezi službou Azure SignalR a službou Azure Web PubSub?

Služba Azure SignalR islužba Azure Web PubSub pomáhají zákazníkům snadno vytvářet webové aplikace v reálném čase s rozsáhlou a vysokou dostupností a umožnit zákazníkům soustředit se na obchodní logiku místo správy infrastruktury zasílání zpráv. Obecně platí, že službu Azure SignalR Service můžete zvolit, pokud už k vytváření aplikací v reálném čase používáte knihovnu SignalR. Pokud místo toho hledáte obecné řešení pro sestavení aplikace v reálném čase na základě vzoru WebSocket a publikování a odběru, můžete zvolit službu Azure Web PubSub. Služba Azure Web PubSub není náhradou za službu Azure SignalR a naopak. cílí na různé scénáře. Následující doprovodné materiály vám pomůžou rozhodnout, kterou službu pro váš scénář použít.

Služba Azure SignalR je vhodnější, pokud:

  • Už používáte ASP.NET nebo ASP.NET Core SignalR, a primárně používáte .NET nebo potřebujete integraci s ekosystémem .NET (například Blazor).
  • Pro vaši platformu je k dispozici klient SignalR.
  • Potřebujete vytvořený protokol, který podporuje širokou škálu:
    • vzory volání (RPC a streamování)
    • přenosy (WebSocket, server odesílané události a dlouhé dotazování)
  • Potřebujete klienta, který spravuje životnost připojení vaším jménem.

Služba Azure Web PubSub je vhodnější pro situace, kdy:

  • Potřebujete vytvářet aplikace v reálném čase založené na technologii WebSocket nebo publikovat odběr přes WebSocket.
  • Chcete vytvořit vlastní subprotokol nebo použít existující pokročilé protokoly přes WebSocket (například MQTT, AMQP přes WebSocket).
  • Hledáte jednoduchý server, například odesílání zpráv klientovi, aniž byste procházeli nakonfigurovaným back-endem.