Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Co to jest usługa SignalR?
ASP.NET Core SignalR to biblioteka typu open source, która upraszcza dodawanie funkcji internetowych w czasie rzeczywistym do aplikacji. Funkcja internetowa w czasie rzeczywistym umożliwia natychmiastowe wypychanie zawartości do klientów po stronie serwera.
Dobrzy kandydaci do :SignalR
- Aplikacje, które wymagają częstych aktualizacji z serwera. Są to na przykład gry i aplikacje do obsługi sieci społecznościowych, głosowania, aukcji, map i nawigacji GPS.
- Pulpity nawigacyjne i aplikacje do monitorowania. Przykładami mogą być firmowe pulpity nawigacyjne, błyskawiczne powiadomienia o sprzedaży lub alerty dotyczące podróży.
- Aplikacje do współpracy. Przykładami aplikacji do współpracy są aplikacje tablicy i oprogramowanie do spotkań zespołowych.
- Aplikacje, które wymagają powiadomień. 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.
SignalRUdostępnia interfejs API do tworzenia zdalnych wywołań procedur serwer-klient (RPC). Kontrolery RPC wywołują funkcje na klientach z kodu platformy .NET Core po stronie serwera. Istnieje kilka obsługiwanych platform, z których każdy ma odpowiedni zestaw SDK klienta. W związku z tym język programowania wywoływany przez wywołanie RPC różni się.
Poniżej przedstawiono niektóre funkcje SignalR ASP.NET Core:
- Automatycznie obsługuje zarządzanie połączeniami.
- Wysyła komunikaty do wszystkich połączonych klientów jednocześnie. Na przykład pokój rozmów.
- Wysyła komunikaty do określonych klientów lub grup klientów.
- Skaluje do obsługi rosnącego ruchu.
- SignalR Protokół koncentratora
Źródło jest hostowane SignalR w repozytorium w usłudze GitHub.
Transporty
SignalR obsługuje następujące techniki obsługi komunikacji w czasie rzeczywistym (w kolejności łagodnego powrotu):
- Obiekty WebSocket
- Zdarzenia wysyłane przez serwer
- Długie sondowanie
SignalR automatycznie wybiera najlepszą metodę transportu, która znajduje się w ramach możliwości serwera i klienta.
Koncentratory
SignalR używa koncentratorów do komunikowania się między klientami i serwerami.
Koncentrator to potok wysokiego poziomu, który umożliwia klientowi i serwerowi wywoływanie metod nawzajem. SignalR automatycznie obsługuje wysyłanie przez granice maszyny, umożliwiając klientom wywoływanie metod na serwerze i na odwrót. Możesz przekazać silnie typizowane parametry do metod, co umożliwia powiązanie modelu. SignalR Udostępnia dwa wbudowane protokoły koncentratora: protokół tekstowy oparty na formacie JSON i protokół binarny oparty na elemecie MessagePack. Pakiet MessagePack zazwyczaj tworzy mniejsze komunikaty w porównaniu z formatem JSON. Starsze przeglądarki muszą obsługiwać poziom XHR 2 , aby zapewnić obsługę protokołu MessagePack.
Centra wywołają kod po stronie klienta, wysyłając komunikaty zawierające nazwę i parametry metody po stronie klienta. Obiekty wysyłane jako parametry metody są deserializowane przy użyciu skonfigurowanego protokołu. Klient próbuje dopasować nazwę do metody w kodzie po stronie klienta. Gdy klient znajdzie dopasowanie, wywołuje metodę i przekazuje do niej dane z deserializacji parametrów.
Przeglądarki, które nie obsługują kodu ECMAScript 6 (ES6)
SignalR cel ES6. W przypadku przeglądarek, które nie obsługują wersji ES6, należy transpilować bibliotekę do wersji ES5. Aby uzyskać więcej informacji, zobacz Getting Started with ES6 – Transpiling ES6 to ES5 with Traceur and Babel (Wprowadzenie do wersji ES6 — transpilowanie ES6 do ES5 za pomocą platformy Traceur i Babel).