Tôi đang thêm các thiết bị từ xa vào danh sách khi chúng tự thông báo trên mạng. Tôi chỉ muốn thêm thiết bị vào danh sách nếu nó chưa được thêm trước đó.
Các thông báo sẽ đến với trình nghe ổ cắm không đồng bộ nên mã để thêm thiết bị có thể được chạy trên nhiều luồng. Tôi không chắc mình đang làm gì sai nhưng không có trường hợp nào tôi cố gắng tôi kết thúc với sự trùng lặp. Đây là những gì tôi hiện có .....
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);
}
}
RemoteDevicegì?