标签: c# user-interface plugins user-controls freeze
我有一个包装插件的主GUI(c#)。在主GUI启动后加载的DLL中的UserControl。
主GUI启动后台工作程序,通过读取命名管道等待其他过程传递的数据。数据到达后,后台工作程序将收到的数据传递给所有插件。如果有大量数据到达命名管道,则插件UserControls开始冻结GUI。
我理解为什么会发生这种情况(Plugins UserControls中的更新方法在插件GUI中运行而不是在后台运行)但我不知道如何解决它或更好...什么是最佳实践解决它?