从 .NET Core 2.2 迁移到 .NET 5 后,应用程序在部署到 Azure 应用程序服务后无法启动 - 启动超时
After migration from .NET core 2.2 to .NET 5 the application won't start after deploying to azure app service - startup timeout
我遇到了以下问题。不久前,我将我的项目从 .net core 2.2 迁移到 .net 5。迁移本身没有问题,本地一切几乎都是开箱即用的。但后来我在将应用程序部署到 Azure 应用程序服务时遇到了问题。该应用程序无法启动。我正在启动超时。过了一会儿,我通过将托管模型切换为 outOfProcess
解决了这个问题
<PropertyGroup>
<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
</PropertyGroup>
由于没有时间彻底测试应用程序,我不得不坚持使用 .net 2.2 直到现在。
现在我再次迁移,我面临着同样的问题。在本地一切正常,但在部署到应用服务后,应用程序无法启动。但是这次hostingModel没有解决。
我尝试了 linux 和 windows 应用程序服务,我尝试通过我们的 azure devops 管道以及从 VS 手动部署。我尝试部署到现有的应用程序服务中,我尝试部署到在部署过程中创建的新应用程序服务中。 None 个解决了它。
当我查看日志流时,我看到以下内容:
2022-02-10T09:13:55.360Z ERROR - Container webapp... for site t2bwebappdev did not start within expected time limit. Elapsed time = 230.2593377 sec
2022-02-10T09:13:55.368Z ERROR - Container webapp... didn't respond to HTTP pings on port: 8080, failing site start. See container logs for debugging.
所以我尝试通过 PORTS
和 WEBSITES_PORT
设置来解决这个问题 - 但似乎没有一个能够启动并运行。
提前感谢您提供有关如何解决此问题的任何提示。
更新:
当我查看日志时,我看到该应用程序正在侦听端口 5000。似乎随着 Net5 升级,launchsettings.json 被忽略了。
然后我只是从 VS 2019 对它进行了 docker 化,在那个容器中我也无法访问该应用程序。那么在这之后,这可能只是一个端口问题吗?
尝试在 Program.cs class:
中添加 this 行
并确保在 Dockerfile:
中公开端口
注意:
一切都取决于 Dockerfile 中暴露的端口。
您公开的端口应与您将作为参数传递给 UseUrls 的端口相匹配。另外,根据证书的存在,考虑http/https。
希望我的回答对您有所帮助!
我遇到了以下问题。不久前,我将我的项目从 .net core 2.2 迁移到 .net 5。迁移本身没有问题,本地一切几乎都是开箱即用的。但后来我在将应用程序部署到 Azure 应用程序服务时遇到了问题。该应用程序无法启动。我正在启动超时。过了一会儿,我通过将托管模型切换为 outOfProcess
解决了这个问题<PropertyGroup>
<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
</PropertyGroup>
由于没有时间彻底测试应用程序,我不得不坚持使用 .net 2.2 直到现在。
现在我再次迁移,我面临着同样的问题。在本地一切正常,但在部署到应用服务后,应用程序无法启动。但是这次hostingModel没有解决。
我尝试了 linux 和 windows 应用程序服务,我尝试通过我们的 azure devops 管道以及从 VS 手动部署。我尝试部署到现有的应用程序服务中,我尝试部署到在部署过程中创建的新应用程序服务中。 None 个解决了它。
当我查看日志流时,我看到以下内容:
2022-02-10T09:13:55.360Z ERROR - Container webapp... for site t2bwebappdev did not start within expected time limit. Elapsed time = 230.2593377 sec 2022-02-10T09:13:55.368Z ERROR - Container webapp... didn't respond to HTTP pings on port: 8080, failing site start. See container logs for debugging.
所以我尝试通过 PORTS
和 WEBSITES_PORT
设置来解决这个问题 - 但似乎没有一个能够启动并运行。
提前感谢您提供有关如何解决此问题的任何提示。
更新:
当我查看日志时,我看到该应用程序正在侦听端口 5000。似乎随着 Net5 升级,launchsettings.json 被忽略了。
然后我只是从 VS 2019 对它进行了 docker 化,在那个容器中我也无法访问该应用程序。那么在这之后,这可能只是一个端口问题吗?
尝试在 Program.cs class:
中添加 this 行并确保在 Dockerfile:
中公开端口注意:
一切都取决于 Dockerfile 中暴露的端口。 您公开的端口应与您将作为参数传递给 UseUrls 的端口相匹配。另外,根据证书的存在,考虑http/https。
希望我的回答对您有所帮助!