You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET接口无法向Service Bus队列发消息,报Connection Reset错误

排查与解决步骤

1. 检查网络防火墙与代理

即使使用AMQP WebSockets(443端口),仍需确认:

  • 服务器/客户端所在网络允许出站到Service Bus端点的443端口流量
  • 若使用代理,需在ServiceBusClientOptions中配置代理信息:
    var clientOptions = new ServiceBusClientOptions
    {
        TransportType = ServiceBusTransportType.AmqpWebSockets,
        Proxy = new WebProxy("http://your-proxy-address:port")
    };
    

2. 验证Service Bus权限

确认使用的身份凭证具备发送权限:

  • 若用连接字符串,需对应Send或Manage级别的Shared Access Policy
  • 若用Azure AD身份验证,确保服务主体/托管标识被分配Azure Service Bus Data Sender角色

3. 升级Service Bus SDK版本

旧版Azure.Messaging.ServiceBus NuGet包可能存在已知连接问题,升级到最新稳定版。

4. 优化重试策略

当前自定义重试仅捕获ServiceBusException,连接重置可能触发其他网络异常,建议改用SDK内置重试策略:

var clientOptions = new ServiceBusClientOptions
{
    TransportType = ServiceBusTransportType.AmqpWebSockets,
    RetryOptions = new ServiceBusRetryOptions
    {
        MaxRetries = 3,
        Delay = TimeSpan.FromSeconds(2),
        MaxDelay = TimeSpan.FromSeconds(10),
        Mode = ServiceBusRetryMode.Exponential
    }
};

同时移除自定义的for循环重试逻辑,让SDK自动处理重试场景。

5. 检查Service Bus配额与SKU

  • 确认命名空间未达到消息发送速率配额
  • 基础版SKU存在功能限制,若使用分区、会话等功能需确认SKU支持

6. 本地环境测试

在本地运行代码验证是否能正常发送,排除生产服务器网络环境问题。


内容的提问来源于stack exchange,提问作者Harish K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 17:23:19