是否可以在 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:
我确定 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 服务器。
目前我正在尝试找到一种方法来构建桌面应用程序,该应用程序托管浏览器 window 并使用 JavaScript 与本地 ASP.NET 核心 Web API 作为 "backend":
我的所有搜索都导致我应该使用 IIS Express 网络服务器的建议。
不幸的是,IIS Express 不 适合我的场景,因为我希望整个应用程序都可以安装并且 运行 非管理员用户可以使用。
由于 IIS Express 需要管理权限才能安装,这超出了我的范围。
我的问题:
除了使用 IIS Express 来 运行 ASP.NET Core Web API 项目之外,还有其他方法吗?
我已经阅读了有关 Kestrel server 的信息,似乎 是我正在寻找的东西,但我仍然不明白这里的大局。
编辑 1:
我确定 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 服务器。