Bagaimana cara menggunakan Console.WriteLine di ASP.NET (C #) selama debug?

89

Saya ingin menulis beberapa hasil ke konsol di ASP.NET (C #). Ia bekerja dalam aplikasi Window, tetapi aplikasi Web tidak bekerja. Inilah yang saya coba:

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 ..................");
}

Tapi saya tidak melihat apa-apa di panel Output. Bagaimana cara mengatasi masalah ini?

Leap Bun
sumber

Jawaban:

186

Console.Write tidak akan berfungsi di ASP.NET karena disebut menggunakan browser. Gunakan Response.Write sebagai gantinya.

Lihat pertanyaan Stack Overflow Di mana Console.WriteLine masuk di ASP.NET? .

Jika Anda ingin menulis sesuatu ke jendela Output selama debugging, Anda dapat menggunakan

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

tetapi ini hanya akan berfungsi selama debug.

Lihat pertanyaan Stack Overflow Debug.WriteLine tidak berfungsi .

PraveenVenu
sumber
6
Response.Write akan menulis ke aliran respons http, saya rasa @Leap Bun tidak menginginkannya
labroo
@labo Tentu saja. Respone.Write akan menampilkan teks ke browser. Saya tidak bisa menggunakannya.
Leap Bun
1
@PraveenVenu Saya sudah mencoba System.Diagnostics.Debug.WriteLine ("SomeText"); dalam pertanyaan!
Leap Bun
2
Perhatikan bahwa Anda dapat mengubah output System.Diagnostics.Debug dengan memanipulasi koleksi Listeners. Lihat MSDN untuk info lebih lanjut
T. Fabre
Apakah jendela Output Anda dalam mode Debug? dan <compilation debug = "true"> di web.config?
PraveenVenu
28

using System.Diagnostics;

Berikut ini akan dicetak ke output Anda selama dropdown disetel ke 'Debug' seperti yang ditunjukkan di bawah ini.

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


masukkan deskripsi gambar di sini

cillierscharl.dll
sumber
9

Jika karena alasan apa pun Anda ingin menangkap hasilnya Console.WriteLine, Anda BISA melakukan ini:

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; }
    }
}
David
sumber
2

Trace.Write ("Error Message") dan Trace.Warn ("Error Message") adalah metode yang digunakan di web, perlu menghias header halaman trace = true dan di file konfigurasi untuk menyembunyikan teks pesan kesalahan untuk pergi ke akhir -pengguna dan agar tetap di iis sendiri untuk debug programmer.

DeepakJoseLopez
sumber
0

Anda tidak boleh meluncurkan sebagai server IIS. periksa pengaturan peluncuran Anda, pastikan itu beralih ke nama proyek Anda (ubah nama ini di launchSettings.jsonfile Anda ), bukan IIS.

masukkan deskripsi gambar di sini

V.Wu
sumber
-1

Pastikan Anda memulai aplikasi Anda dalam mode Debug ( F5), bukan tanpa debugging ( Ctrl+ F5) dan kemudian pilih "Show output from: Debug" di panel Output di Visual Studio.

phn
sumber