Asp.net-Core

刪除 Kestrel 綁定警告

  • August 8, 2018

在 ASP.NET Core 2.1 項目中使用 Kestrel 並在 中指定綁定時UseKestrel(),會在警告級別記錄一條消息:

Overriding address(es) 'http://localhost:50000/'. Binding to endpoints defined in UseKestrel() instead.

這給我們的日誌增加了噪音,報告了一個預設的(因此令人困惑的)URL,並且不應該是一個警告。除了通過記錄器本身過濾消息之外,有沒有辦法配置網路主機建構器,使其在啟動時不記錄它?

首先,如果您認為在應用程序啟動時只收到一次,那麼“噪音”並不是真正的噪音。因此,除非您在需要重新啟動應用程序的地方做一些奇怪的事情,否則與所有其他(更嘈雜的)消息相比,您可能幾乎永遠不會在日誌中看到該行。

話雖如此,這實際上是一個有用的警告,因為它告訴您已在多個位置配置了綁定 URL。因此,正確的操作不是忽略該消息,而是實際刪除重複的配置。

在這種情況下,您正在使用顯式偵聽選項,UseKestrel()以便勝過一切。所以你應該刪除其他配置。您應該查看幾個位置:

  • ASPNETCORE_URLS環境變數。
  • 舊版ASPNETCORE_SERVER.URLS環境變數。
  • Properties/launchSettings.json.

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