Как использовать консольный вывод в среде ASP.NET? - PullRequest
24 голосов
/ 04 декабря 2009

Я бы хотел напечатать некоторые следы при обработке запросов.

Но когда я создаю Console.WriteLine ("что-то") в этой среде, ничего не отображается.

Чего не хватает, что мне нужно сделать, чтобы использовать консоль для печати этих следов?

Ответы [ 6 ]

28 голосов
/ 04 декабря 2009

Используйте Debug.Write() и наблюдайте за результатами через окно вывода отладчика в IDE.

В качестве альтернативы используйте функцию ASP.NET trace , которая является довольно мощной. После того как вы включили трассировку, вы можете перейти на страницу trace.axd в корневом каталоге вашего веб-приложения. На этой странице будут отображаться сообщения трассировки для вашего приложения.

9 голосов
/ 04 декабря 2009

В дополнение к уже упомянутым методам вы можете просто записать в файл журнала:

File.AppendAllText(@"c:\log.txt", @"Debug Message Here!" + Environment.NewLine);

Конечно, вы можете использовать Server.MapPath для записи файла в ваш веб-каталог.

8 голосов
/ 09 июня 2014

Я знаю, что уже поздно, но вы можете написать на консоль Javascript из своего скрипта 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);
    }
}

Таким образом, вы можете просматривать свои сообщения журнала в режиме реального времени при переходе по сайту, как в js.

4 голосов
/ 04 декабря 2009

Вы можете использовать Response.Write, чтобы записать вывод на вашу страницу для отладки, или использовать оповещение в JavaScript, или даже записать в файл журнала. Есть много способов получить отладочную информацию. Существует также log4net для .Net, который вы можете использовать (аналог log4j)

3 голосов
/ 04 декабря 2009

Учитывая, что это приложение ASP.NET, я бы сделал:

Page.Trace.Write ("Something here");

Затем включите трассировку либо для страницы , либо для приложения , а затем просто перейдите на ~ / Trace.axd , чтобы увидеть результаты (они также могут находиться в конце страницы вывод, в зависимости от выбранного варианта конфигурации).

1 голос
/ 04 декабря 2009

Где вы ищете выход?

Console.WriteLine () пишет в командную строку, а не на веб-страницу. Либо используйте Response.Write () для записи на веб-страницу, либо запустите приложение в отладчике Visual Studio, чтобы просмотреть выходные данные командной строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...