what are you doing inside while? are you using something likeSystem.Threading.Thread.Sleep(5000)if you need to wait for some result, use multithreading and periodically refresh your page, for example, seeBoost Web Performance With Multithreading http://www.fawcette.com/vsm/2002_11/magazine/features/chester/
以下是我其中的代码,目的是等待进程退出(或过一定时间后退出循环并启动另一个过程等待进程退出), Process pc = new Process(); bool donPc = false;//进程是否结束 pc.StartInfo.FileName = "d:\test.bat"; pc.StartInfo.UseShellExecute = false; pc.StartInfo.RedirectStandardOutput = false;
http://www.fawcette.com/vsm/2002_11/magazine/features/chester/
Process pc = new Process();
bool donPc = false;//进程是否结束
pc.StartInfo.FileName = "d:\test.bat";
pc.StartInfo.UseShellExecute = false;
pc.StartInfo.RedirectStandardOutput = false;
dtStart = DateTime.Now;
pc.Start();TimeSpan span;
while (true)
{
dtNow = DateTime.Now;
span = dtNow.Subtract(dtStart);
if ( Convert.ToInt32(span.TotalMilliseconds) > pcWait )
{
donePc = false;
break;
}
else
{
if (pc.HasExited)
{
donePc = true;
break;
}
}
}
bool donPc = false;//进程是否结束
pc.StartInfo.FileName = "d:\test.bat";
pc.StartInfo.UseShellExecute = false;
pc.StartInfo.RedirectStandardOutput = false;
pc.Start();
pc.WaitForExit();
//看三楼