适用于 .NET 的 Azure Web PubSub 服务客户端库

Azure Web PubSub 服务是一项 Azure 托管服务,可帮助开发者轻松构建具有实时功能和发布-订阅模式的 Web 应用程序。 任何需要在服务器和客户端或客户端之间进行实时发布-订阅消息传送的方案都可以使用 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);

疑难解答

设置控制台日志记录

如果想要更深入地了解针对服务发出的请求,还可以启用控制台记录

后续步骤

使用这些资源开始生成自己的应用程序: