串行端口断开连接异常:system.dll中的system.invalidoperationexception

时间:2013-11-25 13:03:11

标签: c# serial-port invalidoperationexception

我的应用是通过串口处理通信。我的问题是它有可能从计算机上拔下通信电缆。

我使用USB转串口电缆,这意味着如果他们从计算机上拔下COM端口消失。每次丢失一个COM端口时,我都可以重新启动服务(读取应用程序是一个Windows服务),但是检测新连接的配置并不像它可能的那样快:

SerialPort.GetPortNames()

我以为我会让应用程序继续阅读;一旦有人插回电缆,就会再次看到该服务。 当我这样做时,我不断收到这样的错误:

类型' system.invalidoperationexception'的第一次机会异常发生在system.dll

我有两个不同的位置,当我在没有comport存在的情况下读取时会遇到异常:

//sp is the disconnected serial port
sp.DiscardOutBuffer();
sp.Open();

即使抓住异常我的应用程序仍然崩溃,而且我没有来源来确定错误的位置。

我想我会停止并重新启动我的服务,我只是想我会问你的意见,因为你可能有更好的解决方案。

编辑: 我不会说这是标记问题的重复,因为它仍然没有告诉我为什么我得到例外。或者我错了吗?

0 个答案:

没有答案