Perintah luaran atau aplikasi perlu diproses dan ditangkap dalam program .NET. Garis panduan ini telah membincangkan langkah -langkah dan langkah berjaga -jaga proses promoter kecekapan tinggi dan menangkap output standardnya (STDOUT) dalam .NET.
Memahami proses penciptaan
Untuk memulakan sub -proses, sila buat objek proses dan konfigurasikan harta StartInfo. Logo Createndow memastikan bahawa proses sedang berjalan tanpa tetingkap konsol, sementara redirectStandOutput membolehkan outputnya melalui harta standardOutput.
pemprosesan data output
Apabila proses itu output, acara P.OutputDatareCeived akan dipanggil. Untuk menerima dan memproses output ini, buat Suruhanjaya DataReceivedEventHandler dan lampirkannya ke acara tersebut. Dalam program pemprosesan, gunakan StreamReader untuk membaca output dan simpan dalam rentetan atau struktur data yang sesuai. Pengoptimuman Pemprosesan Acara
Pemprosesan Insiden Asynchronous memastikan bahawa permohonan itu dapat bertindak balas walaupun output anak ditangkap dari proses anak. Dengan menggunakan Process.BegInoutPutReadLine (), anda boleh memulakan benang khusus untuk memproses data output untuk melepaskan benang utama untuk melaksanakan tugas lain.
Baca output secara langsung
Walaupun pemprosesan acara sangat berguna untuk pemantauan masa nyata, kaedah yang lebih mudah adalah membaca output secara langsung menggunakan P.StandardOutput.ReadTond (). Kaedah ini akan menyekat sehingga semua output diterima, tetapi ini menyediakan kaedah langsung untuk menangkap semua output pada satu masa.
kod sampel
Ini adalah blok kod sampel yang menangkap output proses MSBuild:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menangkap Output Proses Luaran dengan Cekap dalam .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!