我尝试将dotnet核心控制台应用程序部署到PCF,它似乎部署得很好,但运行状况检查无法在http://0.0.0.0:${PORT}
尝试访问应用程序。由于它是一个控制台应用程序,因此它没有HTTP端点。在应用信息上我可以看到:
Start Command: dotnet dotnet-app.dll --server.urls http://0.0.0.0:${PORT}
默认情况下,它希望该应用成为网络应用。有没有办法使用pcf的控制台应用程序设置来部署它?
buildpack是:
Buildpack: ASP.NET Core (buildpack-1.0.4)
我想知道是否有纯.NET核心构建包。
答案 0 :(得分:0)
您是否尝试过将“无路由”添加到清单文件中?
这将阻止pcf尝试绑定端口。
no-route: true
您可能还需要禁用健康检查:
cf set-health-check APP_NAME none
答案 1 :(得分:0)
我将清单中的运行状况检查更改为health-check-type: process
,这就是诀窍。
然而,在诊断问题时进行流程健康检查会增加一些价值,但这并不理想。稍后,与同事交谈,他们建议将应用程序托管为WepApi应用程序,因此如果进程挂起,http运行状况检查将在尝试命中端点时检测到它。
由于WebApi应用程序是在.net核心中自托管的,因此更好的解决方案是让WebApi应用程序执行控制台应用程序所做的一切,并托管运行状况检查端点。