2009-01-20 32 views
0

我有一些应用程序与一些后台线程(实际上是一个进程内的WCF服务)。每个线程运行自己的Dispatcher来使用一些WPF类(MediaPlayer对象来处理一些音频/视频文件;它使用BeginInvoke排队一些代表并最终调用Dispatcher.Run)。处理完成后,我想关闭其调度程序,以便线程可以完成。对BeginInvokeShutdown的调用会关闭应用程序中的每个调度程序,导致关闭应用程序。如何停止多个WPF调度程序之一?

有什么我可以做的,所以调度员完成消息循环?

回答

1

好的,当您在WPF-App中托管WCF服务时,服务的调用方法与应用程序具有相同的调度程序。如果我用自己的调度程序启动一个新线程,InvokeShutdown按预期工作。