Как использовать Console.WriteLine в ASP.NET(С#) во время отладки?
Я хочу написать какой-то результат на консоли в ASP.NET(С#).
Он работает в приложении 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 ..................");
}
Но я ничего не вижу на панели "Вывод". Как решить эту проблему?
Ответы
Ответ 1
Console.Write не будет работать в ASP.NET, поскольку он вызывается с помощью браузера. Вместо этого используйте Response.Write.
См. вопрос о переполнении стека Где Console.WriteLine входит в ASP.NET?.
Если вы хотите что-то написать в окне "Вывод" во время отладки, вы можете использовать
System.Diagnostics.Debug.WriteLine("SomeText");
но это будет работать только во время отладки.
См. вопрос о переполнении стека Debug.WriteLine не работает.
Ответ 2
using System.Diagnostics;
Следующее выведет на ваш вывод до тех пор, пока выпадающее меню будет установлено "Отладка", как показано ниже.
Debug.WriteLine("Hello, world!");
![enter image description here]()
Ответ 3
Если по какой-либо причине вы хотите поймать вывод 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; }
}
}
Ответ 4
Используйте метод response.write в code-behind.
Ответ 5
Trace.Write( "Сообщение об ошибке" ) и Trace.Warn( "Сообщение об ошибке" ) - это методы, используемые в Интернете, необходимо украсить трассировку заголовка страницы = true и в файле конфигурации, чтобы скрыть текст сообщения об ошибке перейдите к конечному пользователю и останетесь в iis для отладки программиста.