尽管正在等待,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
作为调试信息最终会干扰您的程序。
在这篇文章中,我觉得NLog是日志记录的最佳选择。特别是在异步应用中,因为它们的非阻塞API和非常简单的配置