我正在将远程设备添加到列表中,因为它们通过网络宣布自己。如果之前没有添加过,我只想将设备添加到列表中。
通知来自异步套接字侦听器,因此添加设备的代码可以在多个线程上运行。我不确定我做错了什么,但无论我尝试什么,最终都会出现重复。这是我目前拥有的......
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);
}
}