Поделиться через


Клиентская библиотека службы Azure Web PubSub для .NET

Служба Azure Web PubSub — это управляемая Azure служба, которая помогает разработчикам легко создавать веб-приложения с функциями реального времени и шаблоном подписки на публикацию. Любой сценарий, требующий обмена сообщениями публикации и подписки в режиме реального времени между сервером и клиентами или среди клиентов, может использовать службу Azure Web PubSub. Традиционные функции реального времени, которые часто требуют опроса с сервера или отправки HTTP-запросов, также могут использовать службу Azure Web PubSub.

Эту библиотеку можно использовать на стороне сервера приложений для управления клиентскими подключениями WebSocket, как показано на схеме ниже.

The overflow diagram shows the overflow of using the service client library.

Используйте эту библиотеку для:

  • Отправка сообщений в концентраторы и группы.
  • отправка сообщений определенным пользователям и подключениям;
  • Группировка пользователей и подключений.
  • Закрытие подключений.
  • Предоставление, отмена и проверка разрешений для существующего подключения.

Исходный код | Пакет | Справочная документация по API | Документация по продукту | Примеры

Приступая к работе

Установка пакета

Установите клиентскую библиотеку из NuGet.

dotnet add package Azure.Messaging.WebPubSub

Необходимые компоненты

Создание и проверка подлинности 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);

Устранение неполадок

Настройка ведения журнала консоли

Вы также можете включить ведение журнала консоли, если вы хотите углубиться в запросы, которые вы делаете против службы.

Следующие шаги

Используйте эти ресурсы для начала создания собственного приложения: