Wprowadzenie do ASP.NET Core SignalRIntroduction to ASP.NET Core SignalR

Co to jest SignalR ?What is SignalR?

ASP.NET Core SignalR to Biblioteka open source, która upraszcza Dodawanie funkcji sieci Web w czasie rzeczywistym do aplikacji.ASP.NET Core SignalR is an open-source library that simplifies adding real-time web functionality to apps. Funkcja sieci Web w czasie rzeczywistym umożliwia serwerowi natychmiastowe wypychanie zawartości do klientów.Real-time web functionality enables server-side code to push content to clients instantly.

Dobre kandydaci dla SignalR :Good candidates for SignalR:

  • Aplikacje, które wymagają częstych aktualizacji z serwera.Apps that require high frequency updates from the server. Są to na przykład gry i aplikacje do obsługi sieci społecznościowych, głosowania, aukcji, map i nawigacji GPS.Examples are gaming, social networks, voting, auction, maps, and GPS apps.
  • Pulpity nawigacyjne i aplikacje do monitorowania.Dashboards and monitoring apps. Przykładami mogą być firmowe pulpity nawigacyjne, błyskawiczne powiadomienia o sprzedaży lub alerty dotyczące podróży.Examples include company dashboards, instant sales updates, or travel alerts.
  • Aplikacje do współpracy.Collaborative apps. Przykładami aplikacji do współpracy są aplikacje tablicy i oprogramowanie do spotkań zespołowych.Whiteboard apps and team meeting software are examples of collaborative apps.
  • Aplikacje, które wymagają powiadomień.Apps that require notifications. Wiele aplikacji korzysta z powiadomień, w tym gry i aplikacje do obsługi sieci społecznościowych, poczty e-mail, czatów i alertów dotyczących podróży.Social networks, email, chat, games, travel alerts, and many other apps use notifications.

SignalR udostępnia interfejs API służący do tworzenia zdalnych wywołań procedur serwer-klient (RPC).SignalR provides an API for creating server-to-client remote procedure calls (RPC). Wywołania RPC wywołują funkcje JavaScript na klientach z kodu .NET Core po stronie serwera.The RPCs call JavaScript functions on clients from server-side .NET Core code.

Poniżej przedstawiono niektóre funkcje programu SignalR dla programu ASP.NET Core:Here are some features of SignalR for ASP.NET Core:

  • Obsługuje automatyczne zarządzanie połączeniami.Handles connection management automatically.
  • Wysyła komunikaty do wszystkich połączonych klientów jednocześnie.Sends messages to all connected clients simultaneously. Na przykład pokój rozmów.For example, a chat room.
  • Wysyła komunikaty do określonych klientów lub grup klientów.Sends messages to specific clients or groups of clients.
  • Skaluje się do obsługi zwiększania ruchu.Scales to handle increasing traffic.

Źródło jest hostowane w SignalR repozytorium w serwisie GitHub.The source is hosted in a SignalR repository on GitHub.

TransportyTransports

SignalR obsługuje następujące techniki obsługi komunikacji w czasie rzeczywistym (w kolejności bezpiecznego powrotu):SignalR supports the following techniques for handling real-time communication (in order of graceful fallback):

SignalR automatycznie wybiera najlepszą metodę transportu, która znajduje się w możliwościach serwera i klienta.SignalR automatically chooses the best transport method that is within the capabilities of the server and client.

CentraHubs

SignalR używa centrów do komunikacji między klientami a serwerami.SignalR uses hubs to communicate between clients and servers.

Koncentrator jest potokiem wysokiego poziomu, który umożliwia klientowi i serwerowi wywoływanie metod ze sobą.A hub is a high-level pipeline that allows a client and server to call methods on each other. SignalR obsługuje automatyczne wysyłanie między granicami maszyn, umożliwiając klientom wywoływanie metod na serwerze i odwrotnie.SignalR handles the dispatching across machine boundaries automatically, allowing clients to call methods on the server and vice versa. Parametry z jednoznacznie określonymi typami można przekazać do metod, które umożliwiają powiązanie modelu.You can pass strongly-typed parameters to methods, which enables model binding. SignalR Program udostępnia dwa wbudowane protokoły centrum: protokół tekstowy oparty na formacie JSON i protokół binarny oparty na MessagePack.SignalR provides two built-in hub protocols: a text protocol based on JSON and a binary protocol based on MessagePack. MessagePack zazwyczaj tworzy mniejsze komunikaty w porównaniu z formatem JSON.MessagePack generally creates smaller messages compared to JSON. Starsze przeglądarki muszą obsługiwać XHR Level 2 , aby zapewnić obsługę protokołu MessagePack.Older browsers must support XHR level 2 to provide MessagePack protocol support.

Centra wywołują kod po stronie klienta, wysyłając komunikaty zawierające nazwę i parametry metody po stronie klienta.Hubs call client-side code by sending messages that contain the name and parameters of the client-side method. Obiekty wysyłane jako parametry metody są deserializowane przy użyciu skonfigurowanego protokołu.Objects sent as method parameters are deserialized using the configured protocol. Klient próbuje dopasować nazwę do metody w kodzie po stronie klienta.The client tries to match the name to a method in the client-side code. Gdy klient znajdzie dopasowanie, wywołuje metodę i przekazuje do niej dane parametrów, które są deserializowane.When the client finds a match, it calls the method and passes to it the deserialized parameter data.

Dodatkowe zasobyAdditional resources