核心是创建Azure服务总线命名空间和队列,并获取连接字符串;接着在.NET项目中安装SDK,使用连接字符串初始化客户端,通过SendAsync发送消息,再用RegisterMessageHandler接收并处理消息。

要用 Azure Service Bus 构建 .NET 消息队列,核心是创建云端资源并用 .NET 代码连接和操作。整个过程不复杂,但每个环节都要配置准确。
创建 Azure Service Bus 资源
在写代码前,先在 Azure 门户准备好服务总线的基础设施。
- 登录 Azure 门户,创建一个“服务总线”命名空间,名称必须全局唯一,且不能以 -sb 或 -mgmt 结尾
- 选择“标准”或“高级”定价层,基础层不支持完整功能
- 命名空间创建成功后,进入其面板,再创建一个队列(Queue),设置名称、消息大小、存活时间等参数
- 在命名空间的“共享访问策略”中,创建一个具有“发送”和“接收”权限的策略,并复制其连接字符串备用
配置 .NET 项目并发送消息
本地开发环境准备好后,就可以编写代码与队列交互了。
- 在 Visual Studio 或命令行中创建一个 .NET 控制台应用,例如使用 dotnet new console 命令
- 通过 NuGet 安装 Microsoft.Azure.ServiceBus 包,这是官方 SDK
- 在代码中,用之前复制的连接字符串初始化 QueueClient 实例
- 构建一个 Message 对象,将内容放入,调用 SendAsync 方法将其推送到队列
- 记得处理异常并在完成后关闭客户端,避免资源泄露
从队列接收和处理消息
接收端程序负责消费队列中的消息,通常以监听模式运行。
- 同样使用连接字符串和 QueueClient 连接到同一个队列
- 调用 RegisterMessageHandler 方法注册一个处理函数,它会在有新消息时自动触发
- 在处理函数中编写业务逻辑,比如解析消息内容、更新数据库等
- 处理完成后,调用 CompleteAsync 确认消息已成功处理,否则消息会重新入队
- 也可以根据情况选择放弃(AbandonAsync)或死信(DeadLetterAsync)消息
基本上就这些步骤。只要连接字符串正确,代码逻辑清晰,.NET 应用就能稳定地与 Azure Service Bus 队列通信,实现解耦和异步处理。










