本地Azure Durable Functions启动失败:目标机器主动拒绝连接
Azure Durable Functions本地启动失败(127.0.0.1:10000连接被拒绝)排查指引
排查方向
1. 确认本地存储模拟器状态
- 若使用旧版Azure Storage Emulator:
- 打开命令提示符,执行
AzureStorageEmulator.exe status查看运行状态 - 未启动则执行
AzureStorageEmulator.exe start启动,启动失败可尝试AzureStorageEmulator.exe init重新初始化
- 打开命令提示符,执行
- 若使用新版Azurite:
- 在VS终端执行
azurite手动启动,或检查VS的"存储模拟器"服务是否开启(可在VS"输出"窗口筛选"存储模拟器"查看状态)
- 在VS终端执行
2. 核对存储连接字符串配置
- 检查
local.settings.json中的AzureWebJobsStorage字段:- 旧版模拟器默认配置:
"AzureWebJobsStorage": "UseDevelopmentStorage=true" - Azurite指定端口的示例配置:
"AzureWebJobsStorage": "DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;TableEndpoint=http://127.0.0.1:10002/devstoreaccount1;"
- 旧版模拟器默认配置:
- 确认系统环境变量中是否存在
AzureWebJobsStorage,避免环境变量覆盖配置文件内容
3. 检查端口占用情况
- 执行命令
netstat -ano | findstr :10000,查看10000端口是否被其他进程占用 - 若有占用,打开任务管理器找到对应PID的进程并结束,之后重启存储模拟器和函数项目
4. 重置本地存储模拟器
- 旧版模拟器:执行
AzureStorageEmulator.exe clear all清空所有数据后重新启动 - Azurite:删除默认数据目录(路径一般为
%USERPROFILE%\.azurite),再重新启动Azurite
5. 核对运行时与依赖版本
- 确认项目的Azure Functions Runtime版本(可在
.csproj或function.json中查看)与本地安装的Azure Functions Core Tools版本匹配,版本不兼容则更新Core Tools - 清理NuGet缓存,执行
dotnet nuget locals all --clear后重新恢复依赖,避免DurableTask相关包版本冲突
6. 排查外部拦截因素
- 临时关闭防火墙、杀毒软件,测试是否能正常启动函数
- 若使用代理,关闭代理后重试,排除代理对本地端口连接的影响
内容的提问来源于stack exchange,提问作者user989988
相关产品推荐
相关产品推荐

