【发布时间】:2015-08-11 14:18:45
【问题描述】:
我开发了一些定制设备的 USB 通信。我使用这个 USB dll 让事情变得更简单:
非常好的库,但有一个小错误。例如,如果我向 USB 设备发送了一些东西并且设备没有响应(它不是正确的命令等),这个 dll 工具箱正在等待对无限的命令响应!
现在我想添加一些超时,如果几秒钟后没有响应继续进行。
我现在使用带有布尔状态响应的方法,我知道读取是否成功。
var readreport = _choosendevice.ReadReport();
稍后我需要“readreport”变量,因为里面 (readreport.Data) 是接受数据。
我的问题是如何将此行实现为一些超时命令?我已经找到了错误的解决方案,但对我不起作用 (bug fix link)。
如果有任何问题,请提出。如果问题没有以正确的方式受到质疑,很抱歉,因为我是 C# 的初学者。 谢谢!寻求帮助
【问题讨论】:
-
你有两件事需要在这里实现。 1.等待给定的时间,2.“杀死”该功能。你打算怎么做nbr。 2?您是否考虑过修改该项目并修复该错误,或将其报告给作者?
-
您可以将对该库的调用封装到一个单独的 dll 中,然后将 load 封装到另一个域中,在超时时可以将其卸载。
-
是的,我已经向作者报告了这个问题