使部署在IIS上的.Net Core Web API与端口80一起使用

Cod*_*elp 3 iis-10 asp.net-core-webapi visual-studio-2022

我使用 VS 2022 使用 .Net Core 3.1 创建了一个 Web API

没什么特别的,这只是我们使用带有天气控制器的模板获得的简单 API,我在其中添加了 Swagger。从 VS -> IIS Express 一切正常。

尝试在我的开发系统上本地部署到 IIS。

不工作。

首先是从 IIS 浏览时禁止的页面:

在此输入图像描述

然后尝试访问 swagger:

在此输入图像描述

从 VS 发布设置

在此输入图像描述

在 IIS 中: 在此输入图像描述

未更改“管理应用程序”中的默认值,它们设置为 Http 的端口 80 和 Https 的端口 443。

出于好奇,我从发布文件夹中运行了可执行文件,并从那里获取了 URL。这有效并且显示了 swagger 页面。 在此输入图像描述

所以要么是端口,要么是其他我无法弄清楚的东西。感谢任何使这项工作顺利进行的线索和指导。

提前致谢。

Jal*_*hal 6

以下是在 IIS 服务器上发布 ASP.NET Core Web API 的步骤:

  1. 在 Visual Studio 中打开一个项目,右键单击它并选择发布选项

  2. 选择文件夹选项并选择目标文件夹并发布

  3. 打开IIS服务器,右键单击服务器名称,选择添加网站

  4. 输入网站名称,选择路径,输入端口号->点击确定

在此输入图像描述

  1. 打开应用程序池,双击您的Web API应用程序池名称

  2. 从 .net CLR 版本中选择无托管代码

在此输入图像描述

  1. 安装 asp.net core 托管包

  2. 在Program.cs文件中添加以下代码:

if (app.Environment.IsDevelopment()|| app.Environment.IsProduction() )

在此输入图像描述

在此输入图像描述