asp.net-core - 删除 Kestrel 绑定(bind)警告

标签 asp.net-core kestrel-http-server asp.net-core-2.1

在 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/

    相关文章:

    c# - 如何导入 Microsoft.AspNetCore.Hosting.IWebHostEnvironment?

    asp.net - 当 dll 文件更改时重新加载 ASP.NET Core 应用程序(bin 部署)

    asp.net-core - 我可以在 ASP.net Core 2.0 Preview 的 appsettings.json 中设置监听 URL 吗?

    .net - 将 ASP.Net Identity 表链接到用户详细信息表

    c# - .NET Core Httpclient 可以工作,但 .Net Framework 4.7.2 httpclient 不能

    asp.net-core - ASP.NET CORE 应用程序的 appsettings.json 中的 Serilog 配置

    asp.net-core - 获取错误 : Entity type 'Course' is defined with a single key property,,但 2 个值已传递给 'DbSet.Find' 方法

    asp.net - ASP 身份核心 GeneratePasswordResetTokenAsync 已过期

    azure - .net 7 隔离的 Azure 函数依赖注入(inject)在部署时失败(在本地工作)

    kestrel-http-server - 指定动态端口 (0) 时如何确定 ASP.NET Core 2 正在监听的端口