在我的 WPF 应用程序中,我必须通过串行端口与数据存储进行通信。为了简单起见,我想将这种通信分离到一个类库中。
在我的 DLL 中,我将向数据存储发出命令并等待 10 秒以接收返回的响应。一旦我从数据存储中得到响应,我就将数据编译成有意义的信息并传递给主应用程序。
我的问题是如何让主应用程序暂停一段时间从外部dll中获取数据,然后继续处理来自dll中的数据?
我使用.net 4.0
最佳答案
考虑在新线程中调用 DLL 方法
Thread dllExecthread = new Thread(dllMethodToExecute);
并提供从主程序到 dll 的回调,它可以在完成时执行(这可以防止锁定 GUI)。
编辑:或者为了简单起见,如果您只想让主程序等待 DLL 完成执行,随后调用:
dllExecthread.Join();
关于c# - 如何调用执行耗时任务的 DLL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16356457/