C# 如何在ASP.NET环境中使用控制台输出?
我想在请求处理过程中打印一些跟踪 但当我在这个环境中创建Console.WriteLine(“某物”)时,什么也没有显示C# 如何在ASP.NET环境中使用控制台输出?,c#,asp.net,console,C#,Asp.net,Console,我想在请求处理过程中打印一些跟踪 但当我在这个环境中创建Console.WriteLine(“某物”)时,什么也没有显示 缺少什么,我需要做什么才能使用console打印这些跟踪?您在哪里查找输出 Console.WriteLine()写入命令行,而不是网页。使用Response.Write()写入网页,或在Visual Studio调试器中启动应用程序以查看命令行输出。您可以使用Response.Write将输出写入页面进行调试,或使用javascript中的警报,甚至写入日志文件。有许多方法
缺少什么,我需要做什么才能使用console打印这些跟踪?您在哪里查找输出
Console.WriteLine()写入命令行,而不是网页。使用Response.Write()写入网页,或在Visual Studio调试器中启动应用程序以查看命令行输出。您可以使用Response.Write将输出写入页面进行调试,或使用javascript中的警报,甚至写入日志文件。有许多方法可以获得调试输出。还有一个log4net for.Net,您可以使用它(类似于log4j)使用
Debug.Write()
,并通过IDE中的调试器输出窗口查看结果
或者,使用功能强大的功能。启用跟踪后,您可以导航到web应用程序根目录中的trace.axd页面。此页面将显示您的应用程序的跟踪消息。鉴于它是一个ASP.NET应用程序,我将执行以下操作:
Page.Trace.Write ("Something here");
然后为启用跟踪,然后只需转到~/trace.axd查看结果(根据您选择的配置选项,它们也可以位于页面输出的末尾)。除了前面提到的方法之外,您还可以简单地写入日志文件:
File.AppendAllText(@"c:\log.txt", @"Debug Message Here!" + Environment.NewLine);
当然,您可以使用Server.MapPath在web目录中写入文件。我知道这已经晚了,但是您可以使用以下类从C#脚本写入Javascript控制台
public static class Javascript
{
static string scriptTag = "<script type=\"\" language=\"\">{0}</script>";
public static void ConsoleLog(string message)
{
string function = "console.log('{0}');";
string log = string.Format(GenerateCodeFromFunction(function), message);
HttpContext.Current.Response.Write(log);
}
public static void Alert(string message)
{
string function = "alert('{0}');";
string log = string.Format(GenerateCodeFromFunction(function), message);
HttpContext.Current.Response.Write(log);
}
static string GenerateCodeFromFunction(string function)
{
return string.Format(scriptTag, function);
}
}
公共静态类Javascript
{
静态字符串scriptTag=“{0}”;
公共静态void控制台日志(字符串消息)
{
string function=“console.log('{0}');”;
string log=string.Format(GenerateCodeFromFunction(函数),message);
HttpContext.Current.Response.Write(日志);
}
公共静态无效警报(字符串消息)
{
string function=“警报('{0}');”;
string log=string.Format(GenerateCodeFromFunction(函数),message);
HttpContext.Current.Response.Write(日志);
}
静态字符串GenerateCodeFromFunction(字符串函数)
{
返回string.Format(scriptTag,function);
}
}
这样,你可以在点击站点时实时查看日志消息,就像在js中一样。我正在查看命令行/输出,它们都没有显示任何内容。我可以为我的应用程序创建一些专用输出吗?我发现Debug.Write是这里进行跟踪的最佳选择,但是其他跟踪都是由asp.net进行的,我只想查看我的跟踪。是的。导航到web应用程序根目录中的
trace.axd
页面。如果为你的应用程序启用了跟踪,该页面将仅显示你的应用程序的跟踪消息。我无法获取debug.print或debug.write以转到VB Web应用程序的输出窗口。是什么让你认为有控制台?这就是我实际寻找的答案,但这真的是最简单的方法吗?要打印脚本标记并调用console.log来打印JS控制台,听起来有点复杂。简单地写入日志就是publicstaticvoidconsolelog(字符串消息){Response.Write(“console.log({0}'))”)}
。但看起来它还是应该建在。。。