65.9K
CodeProject 正在变化。 阅读更多。
Home

在 IIS 中托管 .NET Core Web API

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.70/5 (6投票s)

2017 年 11 月 24 日

CPOL

2分钟阅读

viewsIcon

39130

downloadIcon

690

在您的本地工作站上成功托管 .NET Core Web API 于 IIS 中

引言

当我创建 .NET Core Web API 时,我可以将它们部署在 Microsoft Azure 门户中,然后它们就会托管在 Azure 环境中并且运行良好。但是,当我将它们部署在我的本地 IIS(Internet Information Services)中时,Web API 却无法工作。我的文章将帮助您解决这个问题。我在本文中的方法可以解决 Windows 7、Windows 8 和 Windows 10 工作站和服务器中的相同问题。

背景

我的测试系统信息如下:

  • Visual Studio Community 2017
  • .NET Core 2.0
  • Windows 10 Professional
  • Internet Information Services version 10
  • Postman

1. 开发 Web API

当您在 Visual Studio 2017 Community 2017 中完成 .NET Core 下的 Web API 开发后,您需要进行测试以确保您的 Web API 在 Postman 中正常工作。

按 F5 启动您在 Visual Studio 中的 Web API 项目。使用您正确的 Web API URL 运行 Postman 进行测试,以确保您的 Web API 正常工作。

2. 将 Web API 发布到您的本地文件夹

您可以在 Visual Studio 的解决方案中突出显示您的 Web API 项目,并右键单击“发布...”以将您的 Web API 项目发布到您指定的本地文件夹,例如,C:\websites\webApi\BookWebApi

3. 安装 Microsoft .NET Core Windows Server Hosting Bundle 文件

您可以在网上搜索“.NET Core Windows Server Hosting Bundle”文件(在我那个时候,是 DotNetCore.2.0.3-WindowsHosting.exe)。在您的工作站中安装此文件。
<meta charset="utf-8" />

4. 配置 Internet Information Services

我们需要了解,根据 Microsoft 的说法:

.NET Core 是一个由 Microsoft 和 .NET 社区在 GitHub 上维护的通用开发平台。它是跨平台的,支持 Windows、macOS 和 Linux,并且可以在设备、云和嵌入式/物联网场景中使用。

(1) 创建一个无托管代码的应用程序池

.NET Core 不依赖于托管代码环境。因此,我们需要在 IIS 中创建一个无托管代码的应用程序池。您可以突出显示“应用程序池”并右键单击“添加应用程序池…”,例如,NoManagedCodePool

(2) 创建您的网站

在 IIS 中,您可以突出显示“网站”并右键单击“添加网站…”,例如,BookWebApi,以指向您已发布的 Web API 代码的本地文件夹,例如,C:\websites\webApi\BookWebApi,并使用“NoManagedCodePool”和端口 9001

启动您的网站,以运行您的 Web API。

4. 测试您在 IIS 中托管的 Web API

现在,您可以使用 Postman 测试您在 IIS 中托管的 Web API。

然后,您已成功在本地 IIS 中托管了使用 .NET Core 开发的 Web API。

祝您编码愉快!

关注点

当新技术向我袭来时,我总是需要找到让新技术工作的方法。这是改变技术的乐趣,也是改变世界的乐趣!不断改变就是不变!

历史

  • 2017 年 11 月 23 日:初始版本
© . All rights reserved.