尽管正在等待,Console.Out.WriteLine仍抛出异常

本文关键字:Out WriteLine 抛出异常 Console 在等待 | 更新日期: 2023-09-27 17:50:20

如果我在我的项目中取消注释这行代码,并注释掉它后面的一行,偶尔我会得到异常&堆栈跟踪:

System.InvalidOperationException: Operation is not valid due to the current state of the object
  at System.IO.StreamWriter.CheckState () [0x00000] in <filename unknown>:0 
  at System.IO.StreamWriter.WriteLineAsync (System.String value) [0x00000] in <filename unknown>:0 
  at System.IO.SynchronizedWriter.WriteLineAsync (System.String value) [0x00000] in <filename unknown>:0 
  at Gerty.Service+<PullJob>c__async1.MoveNext () [0x00000] in <filename unknown>:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in <filename unknown>:0 
  at Gerty.Service+<Work>c__async0.MoveNext () [0x00000] in <filename unknown>:0 

我想是什么让我困惑的是,我得到这个异常,尽管等待语句。

尽管正在等待,Console.Out.WriteLine仍抛出异常

按照目前的情况,使用Console.Out作为调试信息最终会干扰您的程序。

在这篇文章中,我觉得NLog是日志记录的最佳选择。特别是在异步应用中,因为它们的非阻塞API和非常简单的配置