我将 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/