API 与 IIS 配合良好,发布到 Azure 时出现 500 内部服务器错误

问题描述

我按照以下文档的确切步骤创建了一个 ASP.Net Core API,并发布到 Azure。 WeatherForcast 函数按预期工作正常,但链接中的其他方法均无效 https://docs.microsoft.com/en-us/aspnet/core/tutorials/publish-to-azure-api-management-using-vs?view=aspnetcore-5.0

错误消息是这样的:

HTTP/1.1 500 Internal Server Error

在使用或不使用 Ocp-Apim-Subscription-Key 的情况下使用 Postman 进行测试时,我得到了相同的错误。但它没有提供任何额外的错误细节。

当我使用 IIS 发布到我们的内部服务器之一时,相同的 API 工作正常,我们可以检索数据。唯一的区别是我们没有使用 Swagger 添加的版本部分“v1”。

我们正在为 API 使用本地 sql 服务器。 连接字符串添加到 Web 发布/部署的数据库部分,并选中“在运行时使用此连接字符串”。

在这里发布了一些屏幕截图,但请询问您是否需要更多详细信息。

我的startup.cs添加了以下内容

配置服务:

services.AddSwaggerGen(c =>
        {
            c.SwaggerDoc("xxxxxapi",new OpenApiInfo { Title = "XXXXX API",Version = "v1" });
        });

配置:

app.UseSwagger();

我不确定这是否是以下任一方面的错误:Azure 配置、数据库连接(在本地托管 IIS 时同样可以正常工作)、Swagger 或其他任何内容。有人可以至少指导我提供故障排除选项。 截图:

Azure Response

Azure Publish Profile of VS 2019

VS Publish Output

WeatherForcast response - Works fine

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)