c# - 如何调用执行耗时任务的 DLL?

标签 c#

enter image description here

在我的 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/

相关文章:

C# 相当于 "use windows authentication"?

c# - Winforms 数据绑定(bind) : Can a TypeConverter be used instead of the Format/Parse events?

c# - Unity C# 输入系统获取任意键并获取按下的键名

c# - c# 中是否有等效于 php array_merge 的函数

c# - 性能 : . Join 与 .Contains - Linq to Entities

c# - 如何在使用第二种形式时更改第一种形式的属性?

c# - Java 方法 getGlyphOutline 在 C# 中是否有等效项?

c# - 从 C# 运行 .bat 文件

c# - 使用 ToDictionary 创建字典

c# - 在分层列表中查找项目