我想在请求处理期间打印一些跟踪。
但是当我在这个环境中创建Console.WriteLine(“something”)时,没有显示任何内容。
缺少什么,为了使用控制台打印这些痕迹,我需要做些什么?
答案 0 :(得分:28)
使用Debug.Write()
并通过IDE中的调试器输出窗口观察结果。
或者,使用ASP.NET trace功能,功能非常强大。启用跟踪后,您可以导航到Web应用程序根目录中的trace.axd页面。此页面将显示应用程序的跟踪消息。
答案 1 :(得分:9)
除了已经提到的方法之外,您只需写入日志文件:
File.AppendAllText(@"c:\log.txt", @"Debug Message Here!" + Environment.NewLine);
当然,您可以使用Server.MapPath在您的Web目录中编写该文件。
答案 2 :(得分:8)
我知道这已经很晚了,但您可以使用以下类从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);
}
}
通过这种方式,您可以在点击网站时实时查看日志消息,就像在js中一样。
答案 3 :(得分:4)
您可以使用Response.Write将输出写入页面以进行调试,或者在javascript中使用alert,甚至可以写入日志文件。有很多方法可以获得调试输出。你也可以使用.Net的log4net(类似于log4j)
答案 4 :(得分:3)
鉴于它是一个ASP.NET应用程序,我会这样做:
Page.Trace.Write ("Something here");
然后为page or the application启用跟踪,然后转到〜/ Trace.axd 查看结果(它们也可以在页面输出的末尾,具体取决于您选择的配置选项。)
答案 5 :(得分:1)
你在哪里寻找输出?
Console.WriteLine()写入命令行 - 而不是网页。使用Response.Write()写入网页或在Visual Studio调试器中启动应用程序以查看命令行输出。