提问人:DrXSsive 提问时间:11/16/2023 更新时间:11/16/2023 访问量:67
从 .NET 7 升级到 .NET 8 时出现 Azure 应用程序错误
Azure Application Error when upgraded from .NET 7 to .NET 8
问:
我最近将我的 .NET 7 应用程序更新为 .NET 8,并将其部署到我的 Web 应用程序 (Linux)。部署后,我收到此错误:
:(应用程序错误
如果您是应用程序管理员,则可以访问诊断资源。
我从日志流中获取了日志,这就是问题所在。
2023-11-16T12:06:46.592Z INFO - 向站点 octufit-api-dev-1 的容器 octufit-api-dev-1_0_36440c88 发起预热请求
2023-11-16T12:06:48.667Z 错误 - 站点 octufit-api-dev-1 的容器 octufit-api-dev-1_0_36440c88 已退出,站点启动失败
2023-11-16T12:06:48.754Z 错误 - 容器 octufit-api-dev-1_0_36440c88 未响应端口 8080 上的 HTTP ping,站点启动失败。请参阅容器日志进行调试。
2023-11-16T12:06:48.785Z INFO - 停止站点 octufit-api-dev-1,因为它在
我尝试在应用程序设置中添加端口 8080 和 WEBSITES_PORT 8080,但没有任何效果。
任何帮助将不胜感激。
答:
我认为您已快速迁移到 .NET 8。他们刚刚在 2023 年 11 月 14 日发表了一篇文章——“.NET 8 GA 在应用服务上可用”。他们说:
expecting to be fully done by the end of the week
因此,您最好等待他们(至少 2023 年 11 月 19 日)完全配置/设置环境。
作者说他这样做了,但没有奏效,但这确实对我们有用。只是在这里发布这个供后代使用。我们不知道为什么我们在 .NET 8 上的新容器在我们的应用服务中不起作用。问题是端口更改。根据文档
注意:ASP.NET Core 应用(在官方映像中)默认侦听端口 8080,从 .NET 8 开始。
需要在应用服务中将 WEBSITES_PORT appsetting 设置为 8080。这将使应用服务在将映像作为容器运行时运行,并让应用服务将请求路由到它。docker run -d --expose=8080
下面是 az 命令,供参考(如果要使用它):
az webapp config appsettings set --resource-group <group-name> --name <app-name> --settings WEBSITES_PORT=8080
评论