Dot-Net

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

  • November 3, 2017

目前我正在嘗試找到一種方法來建構一個桌面應用程序,該應用程序託管一個瀏覽器視窗並使用 JavaScript 作為“後端”與本地 ASP.NET Core Web API 進行通信:

在此處輸入圖像描述

我的所有搜尋都導致我應該使用 IIS Express Web 伺服器的建議。

不幸的是,IIS Express 不適合我的場景,因為我希望整個應用程序可由非管理員使用者安裝和執行。

由於 IIS Express 需要管理權限才能安裝,所以這超出了我的範圍。

我的問題:

除了使用 IIS Express 執行 ASP.NET Core Web API 項目之外,還有其他方法嗎?

我已經閱讀了Kestrel 伺服器,這似乎是我正在尋找的東西,但我仍然不了解這裡的大局。

編輯1:

在 SE Software Recommendations上問了一個有點相關的問題。

我相信Kestrel在這種情況下會很好地為您工作。它是一個跨平台的 Web 伺服器,基於libuv這意味著它非常快。官方基準測試顯示它在多大程度上優於標準 IIS 。

添加到DavidG的答案。

如果您想在沒有 IIS 的情況下執行 ASP.Net,Kestral 是正確的解決方案。

但是,這需要一個開放的 TCP 埠才能工作。這意味著如果您嘗試將 Kestral 綁定到埠 80,並且使用者安裝了 IIS。Kestral 將無法執行。

您可以通過使用Katana將您的網站綁定到 IIS 中的子目錄來解決此問題。不幸的是,這通常需要管理員權限。

總的來說,你基本上可以使用任何你想要的 OWIN 伺服器。

您甚至可以根據情況輸入一些程式碼來選擇您使用的 OWIN 伺服器。

引用自:https://stackoverflow.com/questions/38906739