Aggiungo dispositivi remoti a un elenco mentre si annunciano attraverso la rete. Voglio solo aggiungere il dispositivo all'elenco se non è stato aggiunto in precedenza.Aggiungi solo un articolo univoco all'elenco
Gli annunci stanno arrivando attraverso un listener di socket asincrono in modo che il codice per aggiungere un dispositivo possa essere eseguito su più thread. Non sono sicuro di cosa sto sbagliando, ma non importa cosa cerco, finisco con le duplicazioni. Ecco quello che ho attualmente .....
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);
}
}
Qual è la definizione di 'RemoteDevice'? – pstrjds
per scopi di debug, puoi estendere la tua classe _remoteDevices con un campo data/ora, _remoteDevices.lastSeen = now? – Beth