我正在使用MEF开发一个应用程序来管理一些插件。 在这个插件中,它们是一些线程。当插件将我的DataTable返回给主程序时,插件正在运行(在我看来是因为该线程)。
当我收到数据表时,如何阻止插件运行?
主程序代码:
var task = Task.Factory.StartNew(() => Protocol.Value.RequestToMDE(CurrentLineOfBDDReceivedFromGeneral[0].ToString()));
DataBeforeTraitement = task.Result;
当我收到结果时,MEF会自动卸载dll吗?
答案 0 :(得分:1)
如果我没记错的话,Task.Result
会一直等到任务完成执行。这意味着当您收到.Result
时,该主题“已经死了”。
(实际上,它并没有死,只是可能会回到线程池,但你不需要关心它。通常。)