如何在VSCode中修改Function App本地端口以同时运行两个项目
解决本地Azure Functions多实例端口冲突问题
下面给你几种可行的修改端口方法,让两个Function App能同时运行:
1. 终端命令指定端口启动
直接在第二个项目的VSCode终端里用命令启动,手动指定端口:
func start --port 7072
嫌长可以用简写参数:
func start -p 7072
2. 修改项目配置文件
打开第二个项目的local.settings.json,在Values节点里添加FUNCTIONS_PORT配置项,指定新端口:
{ "IsEncrypted": false, "Values": { "AzureWebJobsStorage": "UseDevelopmentStorage=true", "FUNCTIONS_WORKER_RUNTIME": "dotnet", // 这里根据你的运行时调整,比如node/python "FUNCTIONS_PORT": "7072" } }
保存后直接按F5启动,项目就会用7072端口运行了。
3. 调整VSCode的launch.json配置
之前你觉得没法改launch.json是没找对地方,其实可以通过两种方式配置:
- 如果是直接启动项目的配置,在
env里加端口环境变量:
{ "version": "0.2.0", "configurations": [ { "name": "Launch .NET Functions", "type": "coreclr", "request": "launch", "program": "${workspaceFolder}/bin/Debug/net6.0/YourApp.dll", "cwd": "${workspaceFolder}", "env": { "AzureWebJobsStorage": "UseDevelopmentStorage=true", "FUNCTIONS_WORKER_RUNTIME": "dotnet", "FUNCTIONS_PORT": "7072" } } ] }
- 如果是调用
func start的配置,直接在args里加端口参数:
{ "name": "Azure Functions", "type": "azurefunctions", "request": "launch", "args": ["--port", "7072"] }
用上面任意一种方法把其中一个项目改成7072(或者其他未占用端口),两个项目就能同时运行了,之后一个项目向另一个发送POST请求时,直接用对应的端口URL就行,比如http://localhost:7072/api/TargetFunction。
内容的提问来源于stack exchange,提问作者codebrane
相关产品推荐
相关产品推荐

