是否可以在 Windows 桌面应用程序中使用没有 IIS 的 ASP.NET Core Web API?

Is it possible to use ASP.NET Core Web API without IIS in a Windows Desktop application?

目前我正在尝试找到一种方法来构建桌面应用程序,该应用程序托管浏览器 window 并使用 JavaScript 与本地 ASP.NET 核心 Web API 作为 "backend":

我的所有搜索都导致我应该使用 IIS Express 网络服务器的建议。

不幸的是,IIS Express 适合我的场景,因为我希望整个应用程序都可以安装并且 运行 非管理员用户可以使用。

由于 IIS Express 需要管理权限才能安装,这超出了我的范围。

我的问题:

除了使用 IIS Express 来 运行 ASP.NET Core Web API 项目之外,还有其他方法吗?

我已经阅读了有关 Kestrel server 的信息,似乎 是我正在寻找的东西,但我仍然不明白这里的大局。

编辑 1:

我问了一些releated question over at SE Software Recommendations

我确定 Kestrel will work well for you in this situation. It's a cross platform web server which is based on libuv which means it is super fast. The official benchmarks 显示它比标准 IIS 好多少。

添加到 DavidG 的回答中。

Kestral 是您想要 运行 ASP.Net 没有 IIS 的 IFF 的正确解决方案。

然而,这需要一个开放的 TCP 端口才能工作。这意味着如果您尝试将 Kestral 绑定到端口 80,并且用户安装了 IIS。 Kestral 将无法 运行.

您可以通过使用 Katana 将您的网站绑定到 IIS 中的子目录来解决这个问题。不幸的是,这通常需要管理员权限。

总的来说,您基本上可以使用任何您想要的 OWIN 服务器。

您甚至可以根据情况输入一些代码来选择您使用的 OWIN 服务器。