Web API 作为 windows 服务

Web API as a windows service

所以我在 Visual Studio 2019 年创建了一个新的 .Net Framework 4.8 Web API 我想知道如何将 API 创建为 windows 服务?我似乎找不到任何示例或在线资源来这样做。我可以在 VS 中本地 运行 API,它会打开 Chrome 并显示它启动的本地 IIS 服务器下的响应。如何在仍然使用 HTTPS 的同时将同一个项目编译为 windows 服务?

Web API 是 fully capable of being self hosted on top of OWIN,不需要 IIS 到 运行。

Web API 自托管基本上只是一个控制台应用程序。因此,将 Web API 控制台应用程序转换为 Windows 服务的技术与任何其他 .NET 控制台应用程序相同。您可以使用服务管理器,例如 NSSM, or create a Windows service project directly (by inheriting from the appropriate classes, pretty messy) or use a library like TopShelf.

请注意,将此自托管应用程序直接公开给 public 通常不是一个好主意。 IIS 提供了许多开箱即用的安全优势,旨在防止恶意请求。如果您打算 public 只公开它,请确保在它前面放置一个代理来满足这些安全需求。