假设我有一个托管在 IIS 中的 WCF 应用程序。在该应用程序中,我运行这行代码:
Console.WriteLine("Testing, testing 1 2 3");
它会写到哪里?或者它被忽略并丢失了?
有什么办法可以在需要时捕获它吗?
无处可去。更具体地说:
,被定义为“没有后备存储的流”。 所有方法都不执行任何操作或不返回任何内容。这是一个内部类 到NullStream
。以下代码取自微软的源代码。Stream
基本上,当调用第一个
写入方法时 此时,会调用 Windows API 函数Console
“标准输出”。如果没有返回句柄,则会创建GetStdHandle
并使用。NullStream
引自此处:https://stackoverflow.com/a/2075892/12744
实际上,同样的答案也适用于解决问题的第二部分:
要实际重定向控制台输出,无论项目类型如何,请使用
Console.SetOut(New System.IO.StreamWriter("C:\ConsoleOutput.txt")),
如何在 Next.js 应用程序中访问控制台输出?