【发布时间】:2020-02-29 20:45:52
【问题描述】:
我遇到了我的应用程序freeze,关闭 .NET C# SerialPort 在当前连接到的 COM 端口被删除后。
执行SerialPort.Dispose() 也会冻结。
我阅读了这篇博客,其中对可能的问题给出了一些解释(请谨慎使用): https://www.sparxeng.com/blog/software/must-use-net-system-io-ports-serialport
你能帮我解决这个问题吗?
【问题讨论】:
-
不知道为什么会冻结,但
Dispose会打电话给Close,如果这能解释什么的话。嗯 -
这能回答你的问题吗? C# Winform freezing on SerialPort.Close
-
在您的程序使用 USB 设备时切勿移除它。您必须使用“安全删除硬件”托盘图标,它会说“不!”只要您没有关闭端口或终止您的程序。切勿在 DataReceived 事件处理程序中使用 Invoke(),而是使用 BeginInvoke()。
-
你是对的,但我的应用程序必须是健壮的。用户可以在使用串行 COM 端口时移除它。
-
stackoverflow.com/questions/8843301/… 不是在谈论 COM 端口在使用时的移除。我已经读过了。还是谢谢你。
标签: c# .net serial-port freeze