Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在ASP.NET环境中使用控制台输出?_C#_Asp.net_Console - Fatal编程技术网

C# 如何在ASP.NET环境中使用控制台输出?

C# 如何在ASP.NET环境中使用控制台输出?,c#,asp.net,console,C#,Asp.net,Console,我想在请求处理过程中打印一些跟踪 但当我在这个环境中创建Console.WriteLine(“某物”)时,什么也没有显示 缺少什么,我需要做什么才能使用console打印这些跟踪?您在哪里查找输出 Console.WriteLine()写入命令行,而不是网页。使用Response.Write()写入网页,或在Visual Studio调试器中启动应用程序以查看命令行输出。您可以使用Response.Write将输出写入页面进行调试,或使用javascript中的警报,甚至写入日志文件。有许多方法

我想在请求处理过程中打印一些跟踪

但当我在这个环境中创建Console.WriteLine(“某物”)时,什么也没有显示


缺少什么,我需要做什么才能使用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}'))”)}
。但看起来它还是应该建在。。。