我想在请求处理过程中打印一些痕迹。如何在ASP.NET环境中使用控制台输出?
但是,当我在这个环境中制作Console.WriteLine(“东西”)时,什么都不显示。
缺少什么,为了使用控制台打印这些痕迹,我需要做些什么?
我想在请求处理过程中打印一些痕迹。如何在ASP.NET环境中使用控制台输出?
但是,当我在这个环境中制作Console.WriteLine(“东西”)时,什么都不显示。
缺少什么,为了使用控制台打印这些痕迹,我需要做些什么?
使用Debug.Write()
并且通过IDE中的调试器输出窗口观察结果。
或者,使用功能非常强大的ASP.NET trace功能。启用跟踪后,您可以导航到Web应用程序根目录中的trace.axd页面。此页面将显示您的应用的跟踪消息。
我可以为我的应用创建一些专用输出吗?我发现Debug.Write是在这里做跟踪的最佳选择,但其他跟踪正在由asp.net完成,我只想看看我的痕迹。 –
是的。导航到Web应用程序根目录中的trace.axd页面。如果您的应用已启用跟踪功能,该页面将仅显示您的应用的跟踪消息。 – CesarGon
我不能得到debug.print或debug.write去VB Web应用程序的输出窗口。 –
你在哪里寻找输出?
Console.WriteLine()写入命令行 - 不写入网页。使用Response.Write()写入网页或在Visual Studio调试器中启动应用程序以查看命令行输出。
我在看命令行/输出,他们都没有显示任何东西。 –
您可以使用Response.Write将输出写入您的页面进行调试,或在javascript中使用警报,甚至写入日志文件。有很多方法可以获得调试输出。还有一个可用于.Net的log4net(类似于log4j)
鉴于这是一个ASP.NET应用程序,我会做:
Page.Trace.Write ("Something here");
然后启用跟踪无论是对page or the application,然后就进入〜/的trace.axd看到的结果(他们可以也可以在页面输出结尾,具体取决于您选择的配置选项)。
除了已经提到的,你可以简单地写入日志文件的方法:
File.AppendAllText(@"c:\log.txt", @"Debug Message Here!" + Environment.NewLine);
当然,你可以使用向使用Server.Mappath写在你的web目录中的文件。
我知道这是晚了,但你可以从你的C#脚本中使用下面的类
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控制台,就像你在js中一样。
所以这就是我真正想要的答案,但这真的是最简单的方法吗?听起来有些复杂,不得不打印出一个脚本标签并调用console.log来打印JS控制台。简单地写入日志就是'public static void ConsoleLog(string message){Response.Write(“”)}'。但似乎仍然应该建在...... – Uxonith
是什么让你觉得那里是一个控制台? –