無法啟動 Kestrel,出現“嘗試以存取權限禁止的方式存取套接字”

無法啟動 Kestrel,出現“嘗試以存取權限禁止的方式存取套接字”

從 Visual Studio 2017 (Windows 10) 執行我的 Kestrel 應用程式時,我在命令提示字元中收到以下行:

「無法綁定到http://本地主機:50067在 IPv4 環回介面上:「嘗試以存取權限禁止的方式存取套接字」。

之後提到

Microsoft.AspNetCore.Server.Kestrel[0]
      Unable to start Kestrel.

供您參考,也請查看螢幕截圖

無法綁定連接埠號

背後的原因是什麼?

我所做的是,透過命令檢查連接埠netstat -a

注意 -netstat -a在“命令提示字元”視窗中,然後按“Enter”。電腦顯示所有開啟的 TCP 和 UDP 連接埠的列表

我也無法在該列表中找到我的連接埠號碼。

答案1

Windows 10 更新 KB4074588,某些連接埠是 Windows 保留的,應用程式無法綁定到這些連接埠。 50067 處於封鎖範圍內。

您可以使用netsh interface ipv4 show excludedportrange protocol=tcp列出保留範圍。

排除的連接埠範圍列表

答案2

我在 dotnet core (2.2) 上的 Windows 10 中遇到過幾次這種情況。就我而言,它往往是在我的網卡驅動程式更新後(例如,透過戴爾支援協助應用程式)。奇怪的是,3 個 dotnet core 應用程式中只有一個有問題,而我的 NodeJS API 沒有任何問題。

就我而言,重新啟動可以解決問題。

答案3

我無法添加評論,

為什麼我的阻止清單不同? – 梁 2020-11-02 9:39

如果 IIS 網站使用端口,則會顯示在此清單中。我想其他 Windows 服務也是一樣。

答案4

我在嘗試執行 Microsoft 的 Bot Framework 機器人範例時遇到了此錯誤。

結果我只是在連接埠(3978)上有另一個機器人在後台運行。一旦我停止它,我就能夠成功運行範例。

相關內容