
程式如上圖所示。
情況描述:
在自己的電腦上運行不會延時,但在另一臺電腦上剛打開軟體的時候,會例外等待5秒或10秒,運行幾分鐘之后延時就基本沒了。這個問題是每次都會發生的。
已做分析:
1、通過在呼叫上圖的函式前后列印日志,確定延時就發生在這個函式里面;
2、網上有說是WaitForExit()這個導致的,
我在程式中試過洗掉這個函式,
也用了 process.StandardOutput.ReadToEnd();讀取緩沖區,
還試過把StartInfo.RedirectStandardOutput = true;改為false,但都沒有效果。
有點懷疑是電腦上有什么程式運行有影響,但似乎也不對,畢竟軟體運行了幾分鐘之后就正常了。
有沒有大神知道是什么原因,或者有解決的思路?
uj5u.com熱心網友回復:
原因是你在等待一個行程,等待多久完全是等你的行程的執行uj5u.com熱心網友回復:
但是等待的那個陳述句我去掉,也還是有等待,難道這個執行還要等其它行程嗎?是跟其它軟體沖突了嗎?
uj5u.com熱心網友回復:
異步執行。為什么同步阻塞呢?uj5u.com熱心網友回復:
這是同步執行的,主程式必須確認這個函式執行完才能執行下一步。
現在主要是想搞清楚為什么呼叫這個函式,軟體打開的前幾分鐘要5-10秒,之后就基本沒有延時。執行的cmd指令是復制一個1k左右的txt檔案到列印機的共享埠。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/19489.html
標籤:C#
