Клиентская библиотека службы Azure Web PubSub для .NET
Служба Azure Web PubSub — это управляемая Azure служба, которая помогает разработчикам легко создавать веб-приложения с функциями реального времени и шаблоном подписки на публикацию. Любой сценарий, требующий обмена сообщениями публикации и подписки в режиме реального времени между сервером и клиентами или среди клиентов, может использовать службу Azure Web PubSub. Традиционные функции реального времени, которые часто требуют опроса с сервера или отправки HTTP-запросов, также могут использовать службу Azure Web PubSub.
Эту библиотеку можно использовать на стороне сервера приложений для управления клиентскими подключениями WebSocket, как показано на схеме ниже.
Используйте эту библиотеку для:
- Отправка сообщений в концентраторы и группы.
- отправка сообщений определенным пользователям и подключениям;
- Группировка пользователей и подключений.
- Закрытие подключений.
- Предоставление, отмена и проверка разрешений для существующего подключения.
Исходный код | Пакет | Справочная документация по API | Документация по продукту | Примеры
Приступая к работе
Установка пакета
Установите клиентскую библиотеку из NuGet.
dotnet add package Azure.Messaging.WebPubSub
Необходимые компоненты
- Подписка Azure
- Существующий экземпляр службы Azure Web PubSub.
Создание и проверка подлинности WebPubSubServiceClient
Чтобы взаимодействовать со службой, необходимо создать экземпляр WebPubSubServiceClient
класса. Чтобы сделать это возможным, вам потребуется строка подключения или ключ, к которым можно получить доступ на портале Azure.
var serviceClient = new WebPubSubServiceClient(new Uri(endpoint), "some_hub", new AzureKeyCredential(key));
Примеры
Широковещательная рассылка текстового сообщения всем клиентам
var serviceClient = new WebPubSubServiceClient(new Uri(endpoint), "some_hub", new AzureKeyCredential(key));
serviceClient.SendToAll("Hello World!");
Широковещательная рассылка сообщения JSON всем клиентам
var serviceClient = new WebPubSubServiceClient(new Uri(endpoint), "some_hub", new AzureKeyCredential(key));
serviceClient.SendToAll(RequestContent.Create(
new
{
Foo = "Hello World!",
Bar = 42
}),
ContentType.ApplicationJson);
Широковещательная рассылка двоичного сообщения всем клиентам
var serviceClient = new WebPubSubServiceClient(new Uri(endpoint), "some_hub", new AzureKeyCredential(key));
Stream stream = BinaryData.FromString("Hello World!").ToStream();
serviceClient.SendToAll(RequestContent.Create(stream), ContentType.ApplicationOctetStream);
Устранение неполадок
Настройка ведения журнала консоли
Вы также можете включить ведение журнала консоли, если вы хотите углубиться в запросы, которые вы делаете против службы.
Следующие шаги
Используйте эти ресурсы для начала создания собственного приложения: