Dot-Net
是否可以在 Windows 桌面應用程序中使用沒有 IIS 的 ASP.NET Core Web API?
目前我正在嘗試找到一種方法來建構一個桌面應用程序,該應用程序託管一個瀏覽器視窗並使用 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 伺服器。
