MacOS下Node.js环境:VS Code本地运行Azure Functions始终执行旧代码
解决Durable Functions本地调试后子编排器持续运行的问题
这是因为Durable Functions的编排实例是持久化存储的,本地调试时会把未完成的实例状态存在本地存储介质中,哪怕你修改了代码,已经启动的旧实例仍会按照原逻辑执行。按以下步骤彻底清理:
停止所有相关进程
- 在VS Code终端中按
Ctrl+C停止func host start进程 - 打开任务管理器,结束所有
node.exe和func.exe进程,确保没有残留的函数宿主进程
- 在VS Code终端中按
清理Durable Functions的持久化实例状态
如果你用的是默认的Azurite存储模拟器:- 直接删除用户目录下的
.azurite文件夹(路径一般是C:\Users\[你的用户名]\.azurite) - 或者在VS Code的Azurite扩展面板中,点击「Clear Storage」按钮一键清空
如果你用的是旧版Azure Storage Emulator:
- 打开Azure Storage Emulator的命令行窗口,执行命令:
AzureStorageEmulator.exe clear all
- 直接删除用户目录下的
清理项目本地缓存
删除项目根目录下的bin和obj文件夹,然后重新执行项目构建(VS Code中按Ctrl+Shift+B选择对应的构建任务)重新启动调试
重新运行func host start并启动调试,此时旧的编排实例已被清理,新的代码逻辑会生效
内容的提问来源于stack exchange,提问作者MR.
相关产品推荐
相关产品推荐

