//检测文件是否正在使用中,如果正在使用中则检测是否被上传协议占用,如果占用则关闭,真表示正在使用中,并没有关闭 public bool CheckFileInUse(string fileName) { if (BasicFunc.IsFileInUse(fileName)) { bool result = true; lock (m_asyncSocketServer.DownloadSocketProtocolMgr) { DownloadSocketProtocol downloadSocketProtocol = null; for (int i = 0; i < m_asyncSocketServer.DownloadSocketProtocolMgr.Count(); i++) { downloadSocketProtocol = m_asyncSocketServer.DownloadSocketProtocolMgr.ElementAt(i); if (fileName.Equals(downloadSocketProtocol.FileName, StringComparison.CurrentCultureIgnoreCase)) { lock (downloadSocketProtocol.AsyncSocketUserToken) //AsyncSocketUserToken有多个线程访问 { m_asyncSocketServer.CloseClientSocket(downloadSocketProtocol.AsyncSocketUserToken); } result = false; } } } return(result); } else { return(false); } }
public void Remove(DownloadSocketProtocol value) { m_list.Remove(value); }
public void Add(DownloadSocketProtocol value) { m_list.Add(value); }