0

我刚刚将我们的ASP.NET Core 2.2 Web 应用程序升级到了 3.0。它构建和部署良好。问题是当我从我们的IIS服务器上运行它时。这作为Core 2.2 Web 应用程序运行得非常好,但自从升级到Core 3.0后现在失败了。

当我从命令行启动 Web 应用程序时,没有报告错误。

在此处输入图像描述

当我从浏览器启动应用程序时,Windows 日志表明应用程序已正确启动。

在此处输入图像描述

然后应用程序失败并出现HTTP 500错误。以下是IIS日志条目。

在此处输入图像描述

我们正在使用带有IIS 8.5.9600.16384的Windows Server 2012 R2

该应用程序似乎可以正确启动,但随后失败并出现HTTP 500错误。有没有其他人看过这个或类似的东西?任何想法如何诊断/解决问题?

更新

我已通过 w3wp.exe 进程将 VS 2019 调试器附加到部署的应用程序,它甚至没有命中任何中间件(我在 Startup.cs 的 Startup() 处有一个断点)。

我尝试更改应用程序池设置,例如身份、.NET 版本,但无济于事。

当我从 Web 服务器启动站点时,我收到以下错误消息,它并没有真正告诉我任何事情。

在此处输入图像描述

我看不出是什么导致了问题。

4

3 回答 3

0

.NET Core 3.0 默认使用进程内托管模型。您可能需要升级.NET Core Hosting Bundle

于 2020-02-19T10:47:59.083 回答
0

您将检查 web.config “aspNetCore”

<aspNetCore processPath="dotnet" arguments=".\Api.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />

也许过程路径是错误的。

如果不能解决问题,请写入日志 step step startup.cs。可能会在 startup.cs 中抛出错误

于 2020-02-19T20:57:57.767 回答
0

在对构建生成的构建工件与部署的应用程序进行调查和比较之后,我发现appsettings.json没有被部署。不知道如何或何时开始失败,但它导致应用程序生成HTTP 500错误消息。我们的应用程序的Azure ADB2C设置包含在此文件中,因此它在尝试进行身份验证时崩溃,但找不到身份验证设置。

没有产生明显的错误,一切似乎都加载得很好。正是在该应用程序尝试进​​行身份验证时,它失败了。现在都在工作。

于 2020-02-20T08:42:51.130 回答