Bewerken

Delen via


Veelgestelde vragen over Azure SignalR Service

Is Azure SignalR Service gereed voor gebruik in productieomgevingen?

Ja, de ondersteuning voor ASP.NET Core SignalR en ASP.NET SignalR is algemeen beschikbaar.

Als er meerdere toepassingsservers zijn, worden clientberichten dan naar alle servers of slechts één ervan verzonden?

Er is sprake van een één-op-één-toewijzing tussen client en een toepassingsserver. Berichten van één client worden altijd naar dezelfde toepassingsserver verzonden.

De toewijzing wordt gehandhaafd totdat de verbinding met de client of toepassingsserver wordt verbroken.

Als een van mijn toepassingsservers offline is, hoe kan ik deze dan vinden en hoe word ik erover geïnformeerd?

Azure SignalR Service controleert de heartbeats van toepassingsservers. Als heartbeats gedurende een bepaalde periode niet worden ontvangen, wordt de toepassingsserver als offline beschouwd. De verbinding met alle clients die aan deze toepassingsserver zijn toegewezen, wordt verbroken.

Waarom genereert mijn aangepaste IUserIdProvider een uitzondering wanneer ik overschakel van ASP.NET Core SignalR SDK naar Azure SignalR Service SDK?

De parameter HubConnectionContext context is verschillend in de ASP.NET Core SignalR-SDK en de Azure SignalR Service-SDK wanneer IUserIdProvider wordt aangeroepen.

In ASP.NET Core SignalR is HubConnectionContext context de context van de fysieke clientverbinding met geldige waarden voor alle eigenschappen.

In de Azure SignalR Service-SDK is HubConnectionContext context de context van de logische clientverbinding. De fysieke client is verbonden met de Azure SignalR Service-instantie, zodat er slechts een beperkt aantal eigenschappen wordt geboden.

Op dit moment zijn alleen HubConnectionContext.GetHttpContext() en HubConnectionContext.User beschikbaar voor toegang. U kunt de broncode controleren.

Kan ik de transporten die beschikbaar zijn in Azure SignalR Service aan serverzijde configureren met ASP.NET Core SignalR? Kan ik WebSocket-transport bijvoorbeeld uitschakelen?

Ja. Zie Transportconfiguratie voor het configureren.

U kunt ook transporten aan de clientzijde configureren, zoals beschreven in ASP.NET Core SignalR-configuratie.

Wat is de betekenis van metrische gegevens, zoals het aantal berichten of het aantal verbindingen in Azure Portal? Welk soort aggregatie moet ik kiezen?

U vindt meer informatie over de berekening van deze metrische gegevens in Berichten en verbindingen in Azure SignalR Service.

In het overzichtsvenster met Azure SignalR Service-resources hebben we al het juiste aggregatietype voor u gekozen. U kunt ondersteunde metrische gegevens gebruiken met Azure Monitor als referentie.

Wat is de betekenis van de servicemodi 'Standaard', 'Serverloos' en 'Klassiek'? Hoe kan ik kiezen?

Voor nieuwe toepassingen moeten alleen de standaardmodus en serverloze modus worden gebruikt. Het belangrijkste verschil is of u toepassingsservers hebt die serververbindingen met de service tot stand brengen (bijvoorbeeld om AddAzureSignalR() verbinding te maken met de service). Indien ja: gebruik de standaardmodus. Gebruik anders de serverloze modus.

De klassieke modus is ontworpen voor achterwaartse compatibiliteit voor bestaande toepassingen, dus mag niet worden gebruikt voor nieuwe toepassingen.

Zie de servicemodus in Azure SignalR Service voor meer informatie over de servicemodus.

Kan ik een bericht van de client verzenden in de serverloze modus?

U kunt een bericht verzenden vanaf de client als u upstream-eindpunten configureert in uw SignalR-exemplaar. Upstream-eindpunten zijn een set eindpunten die berichten en verbindingsevenementen van de SignalR-service kunnen ontvangen. Als er geen upstream-eindpunten zijn geconfigureerd, worden berichten van de client genegeerd.

Zie Upstream-eindpunten voor meer informatie.

De functie upstream-eindpunten is momenteel beschikbaar als openbare preview.

Zijn er verschillen tussen de functies in Azure SignalR Service en ASP.NET SignalR?

Als u Azure SignalR Service gebruikt, worden sommige API's en functies van ASP.NET SignalR niet ondersteund:

  • De mogelijkheid om willekeurige status door te geven tussen clients en de hub (vaak genoemd HubState) wordt niet ondersteund.
  • De PersistentConnection klasse wordt niet ondersteund.
  • Forever Frame-transport wordt niet ondersteund.
  • Azure SignalR Service speelt berichten die naar de client zijn verzonden niet langer af als de client offline is.
  • Wanneer u Azure SignalR Service gebruikt, wordt het verkeer voor één clientverbinding altijd doorgestuurd (ook wel tijdelijk genoemd) naar één appserverinstantie voor de duur van de verbinding.

Ondersteuning voor ASP.NET SignalR is gericht op compatibiliteit. Daarom worden niet alle nieuwe functies van ASP.NET Core SignalR ondersteund. MessagePack en Streaming zijn bijvoorbeeld alleen beschikbaar voor ASP.NET Core SignalR-apps.

U kunt Azure SignalR Service configureren voor verschillende servicemodi: Classic, Default en Serverless. De Serverless modus wordt niet ondersteund voor ASP.NET. Ook de REST API voor gegevenslagen wordt niet ondersteund.

Waar worden mijn gegevens opgeslagen?

Azure SignalR Service slaat geen klantgegevens op. Als u Azure SignalR Service samen met andere Azure-services gebruikt, zoals Azure Storage voor diagnostische gegevens, raadpleegt u het azure-privacyoverzicht (technisch document) voor hulp bij het behouden van gegevenslocatie in Azure-regio's.

Hoe kan ik kiezen tussen de Azure SignalR-service en de Azure Web PubSub-service?

Zowel De Azure SignalR-service als de Azure Web PubSub-service helpen klanten om eenvoudig realtime webtoepassingen te bouwen met grootschalige en hoge beschikbaarheid en klanten in staat te stellen zich te richten op hun bedrijfslogica in plaats van de berichteninfrastructuur te beheren. Over het algemeen kunt u Azure SignalR Service kiezen als u de SignalR-bibliotheek al gebruikt om realtime toepassingen te bouwen. Als u op zoek bent naar een algemene oplossing voor het bouwen van realtime-toepassingen op basis van WebSocket en het patroon Publish-Subscribe, kunt u de Azure Web PubSub-service kiezen. De Azure Web PubSub-service is geen vervanging voor Azure SignalR Service en vice versa; ze richten zich op verschillende scenario's. De volgende richtlijnen helpen u bij het bepalen welke service u voor uw scenario wilt gebruiken.

Azure SignalR Service is geschikter als:

  • U gebruikt al ASP.NET of ASP.NET Core SignalR, voornamelijk met behulp van .NET of moet worden geïntegreerd met het .NET-ecosysteem (zoals Blazor).
  • Er is een SignalR-client beschikbaar voor uw platform.
  • U hebt een vast protocol nodig dat ondersteuning biedt voor een breed scala aan:
    • belpatronen (RPC en streaming)
    • transporten (WebSocket, door de server verzonden gebeurtenissen en lange polling)
  • U hebt een client nodig die de levensduur van de verbinding namens u beheert.

De Azure Web PubSub-service is geschikter voor situaties waarin:

  • U moet realtime toepassingen bouwen op basis van WebSocket-technologie of publiceren-abonneren via WebSocket.
  • U wilt uw eigen subprotocol bouwen of bestaande geavanceerde protocollen gebruiken via WebSocket (bijvoorbeeld MQTT, AMQP via WebSocket).
  • U bent op zoek naar een lichtgewicht server, bijvoorbeeld het verzenden van berichten naar de client zonder de geconfigureerde back-end te doorlopen.