![](/img/trans.png)
[英]Executing a stored procedure asynchronously without awaiting it and blocking the UI
[英]Executing system command asynchronously without blocking UI and exiting the process forcefully
我在C#上有一個WPF應用程序,我需要執行一個永遠不存在的系統命令(因為它等待您按Q
)。 我想在第一次收到輸出后強行退出它,並且我也不想阻塞WPF UI,所以我想異步執行此操作(我相信線程會使事情變得更復雜)。
這就是我現在所擁有的:
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "/C " + command;
process.StartInfo = startInfo;
process.Start();
process.WaitForExit();
上面的代碼有2個問題:它阻塞了UI,並且從不獲取輸出(該過程不會退出)。
注意:我使用WaitForExit()
是因為在繼續之前需要輸出。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.