Melaksanakan Berbilang Perintah dalam Satu Proses dengan .NET
Untuk melaksanakan berbilang arahan menggunakan satu proses dalam .NET, seseorang memerlukan untuk mula-mula membuat contoh kelas 'Proses', bersama-sama dengan objek 'ProcessStartInfo' yang sepadan untuk mengkonfigurasi proses.
Seterusnya, dayakan pengalihan input standard dengan menetapkan sifat 'RedirectStandardInput' dalam objek 'ProcessStartInfo' kepada 'true' dan lumpuhkan penggunaan pelaksanaan shell dengan menetapkan 'UseShellExecute' kepada 'false' .
Dengan proses yang dikonfigurasikan dengan betul, seseorang boleh melancarkannya dengan memanggil kaedah 'Mula' pada objek 'Proses'. Ini akan memulakan proses dan mengaitkannya dengan aliran input, output dan ralat standard.
Untuk menulis kepada aliran input standard proses, objek 'StreamWriter' boleh diperoleh menggunakan sifat 'StandardInput' pada objek 'Proses'. Menggunakan kaedah 'WriteLine' pada strim ini, seseorang boleh menulis arahan untuk dilaksanakan oleh proses.
Untuk menggambarkan ini, pertimbangkan kod berikut, yang menunjukkan pelaksanaan berbilang arahan MySQL menggunakan satu proses:
Process p = new Process(); ProcessStartInfo info = new ProcessStartInfo(); info.FileName = "cmd.exe"; info.RedirectStandardInput = true; info.UseShellExecute = false; p.StartInfo = info; p.Start(); using (StreamWriter sw = p.StandardInput) { if (sw.BaseStream.CanWrite) { sw.WriteLine("mysql -u root -p"); sw.WriteLine("mypassword"); sw.WriteLine("use mydb;"); } }
Kod ini mencipta proses untuk boleh laku 'cmd.exe', mengubah hala input standard dan melumpuhkan shell perlaksanaan. Di dalam blok 'menggunakan', 'StreamWriter' digunakan untuk menulis arahan kepada input standard, termasuk menyambung ke pelayan MySQL, menyediakan kata laluan, dan memilih pangkalan data yang dikehendaki. Dengan melaksanakan arahan ini dalam satu proses, seseorang boleh mengelak daripada mencipta berbilang proses dan memastikan arahan tersebut dilaksanakan dalam susunan tertentu.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Berbilang Perintah dalam Satu Proses Menggunakan .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!