有时候,我的一些集成测试与上述消息失败。我正在使用下面的代码准备端口。SerialPort UnauthorizedAccessException
for(int i = 0; i < 5; i++)
{
try
{
port.Open();
if (port.IsOpen)
break;
}
catch (Exception e)
{
try
{
port.Close();
}
catch (Exception)
{}
Thread.Sleep(300);
}
}
我的假设是,因为它不能被当前线程阻塞端口(因为它会尝试关闭它),它必须是一个没有正确清理死了另一个线程或进程(之一其他测试 - 没有其他人访问此端口)。有没有办法重置SerialPort
的状态,以便新线程/进程可以再次访问它?
感谢,
理查德
感谢汉斯 - 这只发生在不同测试过程开始的测试中。 –