【发布时间】:2012-11-09 23:46:14
【问题描述】:
我正在将远程设备添加到列表中,因为它们通过网络宣布自己。如果之前没有添加过,我只想将设备添加到列表中。
通知来自异步套接字侦听器,因此添加设备的代码可以在多个线程上运行。我不确定我做错了什么,但无论我尝试什么,最终都会出现重复。这是我目前拥有的.....
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的定义是什么? -
出于调试目的,您能否使用时间戳字段 _remoteDevices.lastSeen = now 扩展您的 _remoteDevices 类?