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

使用.NET Aspire时,Functions无法连接Service Bus模拟器但API服务正常

解决Azure Functions(独立工作者模型)无法连接本地Azure Service Bus模拟器的问题

针对你遇到的本地.NET Aspire环境下,Azure Functions无法连接Azure Service Bus模拟器(报错“目标机器主动拒绝连接”)的问题,结合你的排查情况,给出以下针对性解决方案:

1. 确认Aspire对Functions的连接字符串注入是否生效

API服务能正常使用连接字符串,但Functions不行,首先要排查连接字符串是否正确传递到Functions进程:

  • 检查AppHost项目中,是否显式将Service Bus连接字符串绑定到Functions资源,示例代码:
var serviceBus = builder.AddAzureServiceBus("serviceBus");

var functions = builder.AddProject<Projects.MyFunctions>("myfunctions")
                       .WithEnvironment("SERVICE_BUS_CONNECTION_STRING", serviceBus.ConnectionString);
  • 调试Functions时,打印Environment.GetEnvironmentVariable("SERVICE_BUS_CONNECTION_STRING")的实际值,确认和API中使用的完全一致(包括UseDevelopmentEmulator=true参数)。如果不一致,检查Functions项目的local.settings.json是否覆盖了该环境变量,确保Aspire注入的环境变量优先级高于本地配置。

2. 切换Service Bus客户端的传输协议为WebSocket

独立工作者模型的Functions可能存在AMQP端口拦截问题,尝试修改Service Bus客户端的传输类型为WebSocket:

  • 在发送消息的代码中显式配置客户端选项:
var clientOptions = new ServiceBusClientOptions
{
    TransportType = ServiceBusTransportType.AmqpWebSockets
};
await using var client = new ServiceBusClient(connectionString, clientOptions);
  • 或者在Functions的host.json中全局配置Service Bus扩展的传输类型:
{
  "version": "2.0",
  "extensions": {
    "serviceBus": {
      "clientOptions": {
        "transportType": "AmqpWebSockets"
      }
    }
  }
}

3. 检查Service Bus模拟器的运行状态与网络绑定

  • 重启Azure Service Bus模拟器,有时候模拟器启动后网络连接未正确初始化,导致后续服务无法建立连接。
  • 打开模拟器管理页面(默认http://localhost:8080),确认模拟器状态为“Running”,且端口绑定正常(连接字符串中的端口34628需与模拟器实际监听端口一致)。

4. 排查本地网络拦截问题

  • 临时关闭Windows防火墙或本地安全软件测试,如果能正常连接,说明存在拦截规则,需添加允许Functions进程(dotnet.exe或func.exe)访问端口34628的出站规则。
  • 检查是否有代理软件在运行,独立工作者模型的Functions可能会继承系统代理设置,导致无法连接本地模拟器,可在Functions项目中添加环境变量NO_PROXY=localhost,127.0.0.1绕过代理。

5. 调整Functions的启动端口

如果Functions默认的7071端口与模拟器的辅助端口存在冲突,可修改Functions的启动端口:
在launchSettings.json中修改端口配置:

"profiles": {
  "MyFunctions": {
    "commandName": "Project",
    "commandLineArgs": "--port 7072",
    "launchBrowser": false
  }
}

内容的提问来源于stack exchange,提问作者Thet Wai

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.01 13:24:59