Ocasionalmente algunas de mis pruebas de integración están fallando con el mensaje anterior. Estoy usando el siguiente código para preparar el puerto.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);
}
}
Mi suposición es que debido a que no puede ser el hilo actual bloqueo del puerto (porque va a tratar de cerrarla), debe ser otro hilo o proceso que ha muerto sin limpiar adecuadamente (una de las otras pruebas - nada más tiene acceso a este puerto). ¿Hay alguna manera de restablecer el estado de SerialPort
para que el nuevo subproceso/proceso pueda acceder a él nuevamente?
Gracias,
Richard
Gracias Hans: esto solo sucede en las pruebas cuando se inician diferentes procesos de prueba. –