在本地运行多个Azure函数

7 浏览
0 Comments

在本地运行多个Azure函数

我有一个在Visual Studio 2022中有多个Azure Functions项目的解决方案。这些项目使用.NET 4.8,并使用函数运行时的v1。

在本地调试时,我希望所有函数应用程序都运行。我将它们全部设置为解决方案配置中的启动项目。我已经发现我可以通过在调试启动配置中设置命令行参数来更改函数应用程序的默认端口,如下所示。

\"enter

问题在于它们都想要绑定到端口5858进行调试。进一步的研究揭示了--nodeDebugPort参数。我将其添加到调试配置文件中,但当我通过按F5从Visual Studio运行时,它们仍然想要使用5858。但是,如果我使用以下命令从命令行运行它们,则会遵守调试端口设置。

..\\..\\..\\node_modules\\azure-functions-core-tools\\bin\\func host start --port 7072 --nodeDebugPort 5859

有什么想法为什么从Visual Studio运行时忽略调试端口参数,但从命令行运行时遵守它?

admin 更改状态以发布 2023年5月22日
0
0 Comments

我的解决方案中有几个Azure函数,并使用local.settings.json(每个函数一个)来配置它们,通过设置LocalHttpPort如下所示:

{
  "IsEncrypted": false,
  "Values": {
    ...
  },
  "Host": {
    "LocalHttpPort": 7073
  }
}

然后在VS中将解决方案配置为“多重启动项目”,并选择您想并行运行的那些函数应用程序。

0
0 Comments

不知道为什么在从 Visual Studio 运行时会忽略调试端口参数,但在从命令行运行时会被执行?

ahmelsayed所建议的:

除了在命令行使用 --nodeDebugPort,您也可以在 local.settings.json 中定义它:

{
   "NodeDebugPort": 5859
}

其他参考:func 的两个进程共享相同的配置设置如何在 Visual Studio 2019 中本地运行多个 Azure .net 5 函数项目?如何在 VS 中以不同的端口运行 Azure Function 应用程序

您可以在 GitHub 上查阅与 nodeDebugPort 相关的问题或打开一个新问题以进一步澄清。

0