CoreWCF 获得 Azure 存储队列绑定

Microsoft发布CoreWCF服务库和WCF客户端库,支持Azure存储队列绑定

Microsoft发布了CoreWCF服务库和WCF客户端库,新增了对Azure存储队列绑定的支持。这些新绑定使开发者能够使用Azure服务队列来实现可靠且可扩展的消息传递解决方案,并简化了将传统的Microsoft MSMQ WCF解决方案迁移到Azure云架构的过程。

Azure存储队列简介

Azure存储队列是基于Azure存储构建的云队列服务,允许各组件可靠且异步地发送、存储和接收消息。

关键特性与限制

  1. 单向操作:与传统的MSMQ绑定类似,CoreWCF中的Azure存储队列绑定是单向操作,客户端不会收到服务调用的响应。因此,CoreWCF服务接口中只允许使用void方法。
  2. MSMQ支持仍处于预览阶段:CoreWCF中的MSMQ支持仍在开发中,已经持续了一年多。

相关库与依赖

为支持Azure存储队列,有两个包分别用于客户端场景(发送消息到队列)和服务器场景(从队列中读取并处理消息)。这两个包依赖于Azure存储队列客户端库和Azure身份验证库。

使用示例

开发者可以通过NuGet包管理器添加Microsoft.WCF.Azure.StorageQueues预发布包到.NET项目中。调用Azure存储队列时,首先需要认证客户端,默认机制是使用DefaultAzureCredential提供程序。

创建CoreWCF服务

要创建作为Azure存储队列消费者的CoreWCF服务,开发者需要使用Microsoft.CoreWCF.Azure.StorageQueues预发布包。在服务配置步骤中,将队列传输添加到CoreWCF服务集合中,并在应用构建器配置步骤中构建绑定。

认证方式

虽然示例中使用了默认的Azure认证,但绑定库也支持使用存储共享密钥凭据、共享访问签名(SAS)、OAuth令牌或Azure存储连接字符串。

CoreWCF项目背景

CoreWCF项目于2022年4月正式发布,旨在提供.NET平台上最常用的WCF服务功能子集。它兼容.NET Standard 2.0,支持HTTP和TCP传输协议,以及其他协议如Kafka和RabbitMQ。当前版本为1.6.0。

与AWS SQS的比较

Azure存储队列绑定支持的发布距离AWS团队发布类似的支持AWS SQS(简单队列服务)队列的包已近一年时间。

阅读 31
0 条评论