我正在做一个播放媒体的网络应用程序。 我有一个包含方法的A类,比如MyMethod:
public void MyMethod()
{
.....
Process proc = ....
ThreadPool.UnsafeQueueUserWorkItem((o) =>
{
proc.WaitForExit();
proc.Close();
.....
},null);
}
在我的页面后面的代码我将调用此方法将运行该进程,然后将播放媒体,该过程将文件转换为.flv类型。我的问题是becoz即时使用异步系统,即使线程没有完成卸载工作后,页面将加载但不播放媒体。我如何等待ThreadPool内的进程终止?然后加载我的页面?非常感谢。
答案 0 :(得分:1)
如果您希望asp.net resqponse等待进程结果,请直接调用WaitForExit。不要使用ThreadPool。
如果由于某种原因您认为您绝对需要使用ThreadPool,则可以使用ManualResetEvent在调用线程中等待结果。