Як використовувати Console.WriteLine в ASP.NET (C #) під час налагодження?


88

Я хочу написати якийсь результат на консолі в ASP.NET (C #). Він працює у програмі Window, але веб-програма не працює. Ось те, що я спробував:

protected void btonClick_Click(object sender, EventArgs e)
{
    Console.WriteLine("You click me ...................");
    System.Diagnostics.Debug.WriteLine("You click me ..................");
    System.Diagnostics.Trace.WriteLine("You click me ..................");
}

Але я нічого не бачу на панелі результатів. Як вирішити цю проблему?


Відповіді:


183

Console.Write не працюватиме в ASP.NET, як це називається за допомогою браузера. Замість цього використовуйте Response.Write.

Див. Запитання щодо переповнення стека Куди йде Console.WriteLine в ASP.NET? .

Якщо ви хочете написати щось у вікні виводу під час налагодження, ви можете використовувати

System.Diagnostics.Debug.WriteLine("SomeText");

але це буде працювати лише під час налагодження.

Див. Запитання про переповнення стека Debug.WriteLine не працює .


6
Response.Write напише в потік відповідей http, я не думаю, що @Leap Bun хоче цього
labroo

@labroo Звичайно. Respone.Write відобразить текст у браузері. Я не можу цим скористатися.
Leap Bun

1
@PraveenVenu Я вже пробував System.Diagnostics.Debug.WriteLine ("SomeText"); у питанні!
Leap Bun,

2
Зверніть увагу, що ви можете змінити вихідні дані System.Diagnostics.Debug, маніпулюючи колекцією слухачів. Дивіться MSDN для отримання додаткової інформації
Т. Фабр,

Чи не допомагає коментар, який я додав до вашого запитання?
labroo

27

using System.Diagnostics;

Далі буде надруковано ваш вихід, якщо для спадного меню встановлено значення "Налагодження", як показано нижче.

Debug.WriteLine("Hello, world!");


введіть тут опис зображення


9

Якщо з якихось причин ви хочете вловити результат Console.WriteLine, ви МОЖЕТЕ зробити це:

protected void Application_Start(object sender, EventArgs e)
{
    var writer = new LogWriter();
    Console.SetOut(writer);
}

public class LogWriter : TextWriter
{
    public override void WriteLine(string value)
    {
        //do whatever with value
    }

    public override Encoding Encoding
    {
        get { return Encoding.Default; }
    }
}

2

Trace.Write ("Повідомлення про помилку") і Trace.Warn ("Повідомлення про помилку") - це методи, які потрібно використовувати в Інтернеті, потрібно оформити заголовок сторінки trace = true та у конфігураційному файлі, щоб приховати текст повідомлення про помилку, щоб перейти до кінця -користувач і так, щоб залишитися в самому iis для налагодження програміста.



0

Не слід запускати як сервер IIS. перевірте налаштування запуску, переконайтеся, що він перейшов на ім'я вашого проекту (змініть це ім'я у своєму launchSettings.jsonфайлі), а не IIS.

введіть тут опис зображення


-1

Переконайтеся, що ви запускаєте програму в режимі налагодження ( F5), не без налагодження ( Ctrl+ F5), а потім виберіть "Показати вихідні дані з: Налагодження" на панелі "Вивід" у Visual Studio.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.