我的程序使用这个方法来调用一个新进程:
public List<string> NewChangesets(string location)
{
var changeInfoProcess = new Process
{
StartInfo = new ProcessStartInfo
{
WorkingDirectory = location,
WindowStyle = ProcessWindowStyle.Hidden,
CreateNoWindow = true,
FileName = "hg",
Arguments = "incoming",
UseShellExecute = false,
RedirectStandardOutput = true
}
};
changeInfoProcess.Start();
它在正常调用时工作正常,但是当它从计时器调用时,它将位于.Start()
方法上并且不会进一步前进。我尝试将当前线程的优先级设置为最高,但没有运气。
这就是我设置计时器的方式:
System.Threading.Timer 是我正在使用的计时器
TimerCallback partTimerDelegate = new TimerCallback(Build);
Timer partTimerItem = new Timer(partTimerDelegate, (object)false, 0, (int)new TimeSpan(1, 0, 0).TotalMilliseconds);
为什么这在 Timer 回调中不起作用?