Ich füge Remote-Geräte zu einer Liste hinzu, während sie sich im Netzwerk anmelden. Ich möchte das Gerät nur dann zur Liste hinzufügen, wenn es noch nicht hinzugefügt wurde.
Die Ansagen stoßen auf einen asynchronen Socket-Listener, sodass der Code zum Hinzufügen eines Geräts auf mehreren Threads ausgeführt werden kann. Ich bin mir nicht sicher, was ich falsch mache, aber egal was ich versuche, ich bekomme Duplikate. Hier ist was ich derzeit habe .....
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?