有時候,我的一些集成測試與上述消息失敗。我正在使用下面的代碼準備端口。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
的狀態,以便新線程/進程可以再次訪問它?
感謝,
理查德
感謝漢斯 - 這隻發生在不同測試過程開始的測試中。 –