在 IIS 中托管 .NET Core Web API






4.70/5 (6投票s)
在您的本地工作站上成功托管 .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 日:初始版本