控制台输出在 IIS 托管应用程序中位于何处?

问题描述 投票:0回答:2

假设我有一个托管在 IIS 中的 WCF 应用程序。在该应用程序中,我运行这行代码:

 Console.WriteLine("Testing, testing 1 2 3");

它会写到哪里?或者它被忽略并丢失了?

有什么办法可以在需要时捕获它吗?

wcf iis console console-application
2个回答
31
投票

无处可去。更具体地说:

NullStream
,被定义为“没有后备存储的流”。 所有方法都不执行任何操作或不返回任何内容。这是一个内部类 到
Stream
。以下代码取自微软的源代码。

基本上,当调用第一个

Console
写入方法时 此时,会调用 Windows API 函数
GetStdHandle
“标准输出”。如果没有返回句柄,则会创建
NullStream
并使用。

引自此处:https://stackoverflow.com/a/2075892/12744

实际上,同样的答案也适用于解决问题的第二部分:

要实际重定向控制台输出,无论项目类型如何,请使用

  Console.SetOut(New System.IO.StreamWriter("C:\ConsoleOutput.txt")),

0
投票

如何在 Next.js 应用程序中访问控制台输出?

© www.soinside.com 2019 - 2024. All rights reserved.