我有这么一段程序: Process process= new Process(); 
process.StartInfo.FileName = "mysolver.exe"; 
process.StartInfo.Verb = "Open"; 
string severpath =Server.MapPath("bin/Release");  
process.StartInfo.WorkingDirectory = severpath; 
process.Start();  
Response.Write(" <script language = 'javascript'>alert('Optimized Sucessfully'); </script>") ; 运行mysolver.exe的结果是排序一个文件,然后把结果文件result.xml存在本目录下,可我的程序经常在还没有执行完mysolver.exe (就是说result.xml文件都还没有产生), 就已经探出了'Optimized Sucessfully'的框框,结果result.xml过一段时间才出来了, 请问这是怎么回事,怎么避免这一情况呀,感谢指点!

解决方案 »

  1.   

    你应该判断一下,当你的进程执行完毕之后,你才去执行Response.Write("  <script language = 'javascript'>alert('Optimized Sucessfully');  </script>") ; 。
    因为你是start之后就立刻执行Response.Write,当然会产生你说的那种情况。
      

  2.   

    在process.Start();后面加一句就可以了:
      process.WaitForExit();
      

  3.   

    WaitForExit()或者在Exited事件发生后再执行你的RESPONSE
      

  4.   

    可是当我的process.WaitForExit(); 执行完以后, 页面报错: Threading Aborted error:
      

  5.   

    直接写一个for的空循环就得了,让他耗费时间for(int i=0;i<100000;i++)
    {
    }