在 ASP.NET Core 2.1 项目中使用 Kestrel 并在 UseKestrel()
中指定绑定(bind)时,在警告级别记录一条消息:Overriding address(es) 'http://localhost:50000/'. Binding to endpoints defined in UseKestrel() instead.
这给我们的日志增加了噪音,报告了一个默认的(因此令人困惑的)URL,并且不应该是一个警告。除了通过记录器本身过滤消息之外,有没有办法配置 Web 主机构建器,使其不会在启动时记录它?
最佳答案
首先,如果您认为在应用程序启动时只收到一次,那么“噪音”并不是真正的噪音。因此,除非您在需要重新启动应用程序的地方做一些奇怪的事情,否则与所有其他(更嘈杂的)消息相比,您可能几乎永远不会在日志中看到该行。
话虽如此,这实际上是一个有用的警告,因为它告诉您已在多个位置配置了绑定(bind) URL。因此,正确的操作不是忽略该消息,而是实际删除重复的配置。
在这种情况下,您正在使用带有 UseKestrel()
的显式监听选项。所以这胜过一切。所以你应该删除其他配置。您应该查看几个位置:
ASPNETCORE_URLS
环境变量。 ASPNETCORE_SERVER.URLS
环境变量。 Properties/launchSettings.json
. 关于asp.net-core - 删除 Kestrel 绑定(bind)警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51738893/