Dodaję urządzenia zdalne do listy, ponieważ ogłaszają się w sieci. Chcę tylko dodać urządzenie do listy, jeśli nie zostało wcześniej dodane.Dodaj tylko unikatowy element do listy
Ogłoszenia nadchodzą przez odbiornik asynchroniczny gniazda, więc kod dodawania urządzenia może być uruchamiany na wielu wątkach. Nie jestem pewien, co robię źle, ale bez względu na to, co próbuję, kończę z duplikacjami. Oto, co aktualnie mam .....
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);
}
}
Jaka jest definicja dla 'RemoteDevice'? – pstrjds
dla celów debugowania, czy możesz przedłużyć swoją klasę _remoteDevices o pole znacznika czasu, _remoteDevices.lastSeen = teraz? – Beth