在向SerialPort
发送消息后,准备回读其响应,我尝试设置ReadTimeout
并找回了一个相当古怪的错误:
System.IO.IOException was unhandled
Message="The I/O operation has been aborted because of either a thread exit or an application request.\r\n"
Source="System"
StackTrace:
at System.IO.Ports.InternalResources.WinIOError(Int32 errorCode, String str)
at System.IO.Ports.InternalResources.WinIOError()
at System.IO.Ports.SerialStream.set_ReadTimeout(Int32 value)
at System.IO.Ports.SerialPort.set_ReadTimeout(Int32 value)
没有其他线程访问SerialPort
,也没有向其注册的事件处理程序(我希望能排除来自端口后面隐式线程的干扰)。
无论如何,这对我来说似乎很奇怪:SetCommTimeouts
如何ERROR_OPERATION_ABORTED
失败?