Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Что такое SignalR?
ASP.NET Core SignalR — это библиотека с открытым кодом, которая упрощает добавление веб-функций в приложения в режиме реального времени. Веб-функции в режиме реального времени позволяют серверным кодам мгновенно отправлять содержимое клиентам.
Хорошие кандидаты на SignalR:
- Приложения, требующие частых обновлений с сервера. Примерами являются игры, социальные сети, платформы для голосования, аукционы, карты и приложения GPS.
- Панели и приложения мониторинга. Примеры включают в себя панели мониторинга компании, мгновенные обновления продаж или оповещения о поездках.
- Приложения для совместной работы. Примерами таких приложений служат приложения для совместной работы на доске и программное обеспечение для командных встреч.
- Приложения, которым требуются уведомления. Уведомления используют социальные сети, электронная почта, чат, игры, оповещения о поездках и многие другие приложения.
SignalR предоставляет API для создания вызовов удаленных процедур с сервера на клиент (RPC). RPCs вызывают функции на клиентах из кода на стороне сервера .NET. Существует несколько поддерживаемых платформ, каждый из которых имеет соответствующий клиентский пакет SDK. Из-за этого вызов RPC вызывает различные языки программирования.
Ниже приведены некоторые функции SignalR для ASP.NET Core:
- Автоматически обрабатывает управление подключениями.
- Одновременно отправляет сообщения всем подключенным клиентам. Например, комната чата.
- Отправляет сообщения определенным клиентам или группам клиентов.
- Масштабируется для обработки увеличения трафика с такими параметрами, как Azure SignalR Service и Redis backplane.
- Поддерживает оптимизацию и нативную компиляцию на этапе трансляции (AOT) для поддерживаемых сценариев.
- Поддерживает обработку полиморфных типов в методах хаба.
- Поддерживает распределенную трассировку с помощью
ActivitySourceдля сервера центра SignalR и клиента .NET. - SignalR Протокол концентратора
Источник размещен в репозитории SignalR в GitHub.
Transports
SignalR поддерживает следующие методы обработки обмена данными в режиме реального времени (в порядке корректной резервной передачи):
- WebSockets
- События, посылаемые сервером
- Длительный опрос
SignalR автоматически выбирает лучший метод транспорта, который находится в пределах возможностей сервера и клиента. WebSockets — это предпочтительный транспорт, так как обычно он обеспечивает лучшую эффективность.
Hubs
SignalR использует центры для обмена данными между клиентами и серверами.
Хаб — это высокоуровневый конвейер, который клиент и сервер используют для вызова методов друг у друга. SignalR автоматически управляет передачей между машинами, чтобы клиенты могли вызывать методы на сервере и наоборот. Вы можете передавать строго типизированные параметры методам, что обеспечивает привязку модели. SignalR поддерживает два встроенных протокола концентратора: текстовый протокол на основе JSON (по умолчанию) и двоичный протокол на основе MessagePack. MessagePack обычно создает небольшие сообщения по сравнению с JSON. Для получения дополнительной информации см. раздел Использование протокола концентратора MessagePack в SignalR для ASP.NET Core.
Центры вызывают клиентский код, отправляя сообщения, содержащие имя и параметры метода на стороне клиента. Настроенный протокол десериализирует объекты, отправленные в качестве параметров метода. Клиент пытается сопоставить имя с методом в клиентском коде. Когда клиент находит совпадение, он вызывает метод и передает десериализированные данные параметров.
Дополнительные ресурсы
Что такое SignalR?
ASP.NET Core SignalR — это библиотека с открытым кодом, которая упрощает добавление веб-функций в приложения в режиме реального времени. Веб-функции в режиме реального времени позволяют серверным кодам мгновенно отправлять содержимое клиентам.
Хорошие кандидаты на SignalR:
- Приложения, требующие частых обновлений с сервера. Примерами являются игры, социальные сети, платформы для голосования, аукционы, карты и приложения GPS.
- Панели и приложения мониторинга. Примеры включают в себя панели мониторинга компании, мгновенные обновления продаж или оповещения о поездках.
- Приложения для совместной работы. Примерами таких приложений служат приложения для совместной работы на доске и программное обеспечение для командных встреч.
- Приложения, которым требуются уведомления. Уведомления используют социальные сети, электронная почта, чат, игры, оповещения о поездках и многие другие приложения.
SignalR предоставляет API для создания вызовов удаленных процедур с сервера на клиент (RPC). RPCs вызывают функции на клиентах из кода на стороне сервера .NET. Существует несколько поддерживаемых платформ, каждый из которых имеет соответствующий клиентский пакет SDK. Из-за этого вызов RPC вызывает различные языки программирования.
Ниже приведены некоторые функции SignalR для ASP.NET Core:
- Автоматически обрабатывает управление подключениями.
- Одновременно отправляет сообщения всем подключенным клиентам. Например, комната чата.
- Отправляет сообщения определенным клиентам или группам клиентов.
- Масштабируется для обработки увеличения трафика с такими параметрами, как Azure SignalR Service и Redis backplane.
- Поддерживает оптимизацию и нативную компиляцию на этапе трансляции (AOT) для поддерживаемых сценариев.
- Поддерживает обработку полиморфных типов в методах хаба.
- Поддерживает распределенную трассировку с помощью
ActivitySourceдля сервера центра SignalR и клиента .NET. - SignalR Протокол концентратора
Источник размещен в репозитории SignalR в GitHub.
Transports
SignalR поддерживает следующие методы обработки обмена данными в режиме реального времени (в порядке корректной резервной передачи):
- WebSockets
- События, посылаемые сервером
- Длительный опрос
SignalR автоматически выбирает лучший метод транспорта, который находится в пределах возможностей сервера и клиента. WebSockets — это предпочтительный транспорт, так как обычно он обеспечивает лучшую эффективность.
Hubs
SignalR использует центры для обмена данными между клиентами и серверами.
Концентратор — это высокоуровневый конвейер, который позволяет клиенту и серверу вызывать методы друг друга. SignalR обрабатывает отправку по границам компьютера автоматически, позволяя клиентам вызывать методы на сервере и наоборот. В методы можно передавать строго типизированные параметры, которые обеспечивают привязку модели. SignalR поддерживает два встроенных протокола концентратора: текстовый протокол на основе JSON (по умолчанию) и двоичный протокол на основе MessagePack. MessagePack обычно создает небольшие сообщения по сравнению с JSON. Для получения дополнительной информации см. раздел Использование протокола концентратора MessagePack в SignalR для ASP.NET Core.
Центры вызывают клиентский код, отправляя сообщения, содержащие имя и параметры метода на стороне клиента. Объекты, отправленные в качестве параметров метода, десериализируются с помощью настроенного протокола. Клиент пытается сопоставить имя с методом в клиентском коде. Когда клиент находит совпадение, он вызывает метод и передает в него десериализированные данные параметров.
Дополнительные ресурсы
Что такое SignalR?
ASP.NET Core SignalR — это библиотека с открытым кодом, которая упрощает добавление веб-функций в приложения в режиме реального времени. Веб-функции в режиме реального времени позволяют серверным кодам мгновенно отправлять содержимое клиентам.
Хорошие кандидаты на SignalR:
- Приложения, требующие частых обновлений с сервера. Примерами являются игры, социальные сети, платформы для голосования, аукционы, карты и приложения GPS.
- Панели и приложения мониторинга. Примеры включают в себя панели мониторинга компании, мгновенные обновления продаж или оповещения о поездках.
- Приложения для совместной работы. Примерами таких приложений служат приложения для совместной работы на доске и программное обеспечение для командных встреч.
- Приложения, которым требуются уведомления. Уведомления используют социальные сети, электронная почта, чат, игры, оповещения о поездках и многие другие приложения.
SignalR предоставляет API для создания вызовов удаленных процедур с сервера на клиент (RPC). RPCs вызывают функции на клиентах из кода на стороне сервера .NET. Существует несколько поддерживаемых платформ, каждый из которых имеет соответствующий клиентский пакет SDK. Из-за этого вызов RPC вызывает различные языки программирования.
Ниже приведены некоторые функции SignalR для ASP.NET Core:
- Автоматически обрабатывает управление подключениями.
- Одновременно отправляет сообщения всем подключенным клиентам. Например, комната чата.
- Отправляет сообщения определенным клиентам или группам клиентов.
- Масштабируется для обработки растущего трафика.
- SignalR Протокол концентратора
Источник размещен в репозитории SignalR в GitHub.
Transports
SignalR поддерживает следующие методы обработки обмена данными в режиме реального времени (в порядке корректной резервной передачи):
- WebSockets
- События, посылаемые сервером
- Длительный опрос
SignalR автоматически выбирает лучший метод транспорта, который находится в пределах возможностей сервера и клиента.
Hubs
SignalR использует центры для обмена данными между клиентами и серверами.
Концентратор — это высокоуровневый конвейер, который позволяет клиенту и серверу вызывать методы друг друга. SignalR обрабатывает отправку по границам компьютера автоматически, позволяя клиентам вызывать методы на сервере и наоборот. В методы можно передавать строго типизированные параметры, которые обеспечивают привязку модели. SignalR предоставляет два встроенных протокола концентратора: текстовый протокол на основе JSON и двоичный протокол на основе MessagePack. MessagePack обычно создает небольшие сообщения по сравнению с JSON. Старые браузеры должны поддерживать уровень XHR 2 , чтобы обеспечить поддержку протокола MessagePack.
Центры вызывают клиентский код, отправляя сообщения, содержащие имя и параметры метода на стороне клиента. Объекты, отправленные в качестве параметров метода, десериализируются с помощью настроенного протокола. Клиент пытается сопоставить имя с методом в клиентском коде. Когда клиент находит совпадение, он вызывает метод и передает в него десериализированные данные параметров.
Браузеры, не поддерживающие ECMAScript 6 (ES6)
SignalR нацеливается на ES6. Для браузеров, не поддерживающих ES6, перезаполните библиотеку в ES5. Дополнительные сведения см. в статье "Начало работы с ES6— транспилирование ES6 в ES5 с traceur и Babel".
Дополнительные ресурсы
ASP.NET Core