Dodaje zdalne urządzenia do listy, gdy ogłaszają się w sieci. Chcę tylko dodać urządzenie do listy, jeśli nie zostało wcześniej dodane.
Ogłoszenia przechodzą przez nasłuchiwacz gniazda asynchronicznego, więc kod dodawania urządzenia można uruchomić w wielu wątkach. Nie jestem pewien, co robię źle, ale bez względu na to, co próbuję, skończę z duplikatami. Oto, co mam obecnie .....
lock (_remoteDevicesLock)
{
RemoteDevice rDevice = (from d in _remoteDevices
where d.UUID.Trim().Equals(notifyMessage.UUID.Trim(), StringComparison.OrdinalIgnoreCase)
select d).FirstOrDefault();
if (rDevice != null)
{
//Update Device.....
}
else
{
//Create A New Remote Device
rDevice = new RemoteDevice(notifyMessage.UUID);
_remoteDevices.Add(rDevice);
}
}
RemoteDevice
?