c# - 升级到 ASP.NET Core 2.0 后 Web API 控制台中的重复信息消息

标签 c# asp.net-web-api asp.net-core

我将 Web API 项目从 ASP.NET Core 1.x 升级到 ASP.NET Core 2.0,代码更改非常少。

运行 WebAPI 时,命令提示符会正常打开。

但是,每条信息消息都是重复的。

这是 ASP.NET Core 错误还是升级后我这边的问题?

更新:

我在 Startup.cs Configure 方法中执行了以下操作:

    loggerFactory.AddConsole(Configuration.GetSection("Logging"));
    loggerFactory.AddDebug();

当我删除它时,没有重复项。这已经不需要了吗?

最佳答案

WebHost.CreateDefaultBuilder 为您设置了许多常规内容,以节省必须为每个单独的 ASP.NET Core 2 项目生成的相同代码(就像在 ASP.NET Core 1.x 中一样)。

您可以看到 WebHost.CreateDefaultBuilder 的代码 here .对于您的特定情况,如果您看起来有点 further down在源代码中,您将看到以下内容:

logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));
logging.AddConsole();
logging.AddDebug();

因此,您不再需要自己添加此代码。在这样做的过程中,它被添加了两次,这最终导致了日志记录两次

如果您想更详细地了解这些更改,Andrew Lock 提供了很好的 write-up这是如何工作的。他还深入研究了如何覆盖其中一些默认值等的一些细节。请注意,这篇文章是基于 ASP.NET Core 2 预览版 1,但最终版本中的内容或多或少是相同的。

关于c# - 升级到 ASP.NET Core 2.0 后 Web API 控制台中的重复信息消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46710721/

相关文章:

没有 MessageBox,C# DLL 无法工作

c# - 给定 Array.Cast<T>(),我如何通过反射确定 T?

c# - Entity Framework - 如何获取列?

c# - 如何在动态 Odata 对象上设置枚举值

c# - 如何让 WebAPI 默认显示 JSON 结果?

asp.net - 安装serilog并在ASP .NET 4.7.1 WebAPI中进行配置

asp.net-mvc - 将 OwinADAuthentication 从 .NET Framework 转换为 .NET Core

javascript - 检索已使用 JavaScript 重新排序的选择元素选项列表

c# - 无法对 ASP.NET Core 中的 SOAP 服务进行身份验证

c# - 你用过的最酷的 C# LINQ/Lambdas 技巧?