【问题标题】:Web API as a windows serviceWeb API 作为 Windows 服务
【发布时间】:2019-11-20 17:56:25
【问题描述】:

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

【问题讨论】:

标签: asp.net .net-4.8


【解决方案1】:

Web API 为 fully capable of being self hosted on top of OWIN,不需要 IIS 即可运行。

Web API 自托管基本上只是一个控制台应用程序。因此,将 Web API 控制台应用程序转换为 Windows 服务的技术与任何其他 .NET 控制台应用程序相同。您可以使用NSSMcreate a Windows service project directly 之类的服务管理器(通过从适当的类继承,相当混乱)或使用TopShelf 之类的库。

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

【讨论】:

  • TopShelf 处理安全问题?使用 OWIN/TopShelf 进行自我托管时是否还有潜在安全问题列表?
  • @user616 不,TopShelf 只是一个将 .NET 控制台应用程序转换为 Windows 服务的库。它与安全无关。如果您想了解 IIS 的安全优势,可以研究“IIS 与自托管”。
  • 所以我假设我会创建一个新的 WebAPI 项目并将项目输出类型更改为控制台应用程序?
  • 创建一个新的控制台应用程序然后添加 Web API 可能会更容易。
  • 安全问题之类的?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-03
  • 1970-01-01
  • 2015-04-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多