從 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)上有另一個機器人在後台運行。一旦我停止它,我就能夠成功運行範例。