操作文件时加锁
.net编程中经常会用到操作文件,特别是xml文件经常会用到
文件操作在多线程中如果不注意经常会碰到"XXX文件正在由另一个进程访问"之类的错误
XmlDocument.Load(string)是托管方法,本身是不需要释放的安全方法
但是由于你多线程可能同时对文件本身访问,所以要加上一些处理在你document处理完了之后,释放掉资源就可以了
 document.RemoveAll(); 
 document = null; 但这样并不保险,上面的问题还是存在,最好在文件操作的时候加上锁,即当前只允许一个线程访问,而且最好是一个全局静态锁 如:
public static object FileLockObj = new object();    //文件访问锁
 
操作文件时加锁
lock (FileLockObj)
  {
  //更新配置
 XmlUtils xu = new XmlUtils();
 xu.EditFileConfigTimes(app.Name, app.Times);
  }
递归处理文件夹
public static void DealFiles(string filePath)
         {
             DirectoryInfo fatherFolder = new DirectoryInfo(filePath);
             //处理当前文件夹内文件
             FileInfo[] files = fatherFolder.GetFiles();
             foreach (FileInfo file in files)
             {
                 string fileName = file.Name;
                 try
                 {
                     Console.WriteLine("XXX");
                     //var upLoaded = UpLoadFile(file);
                     //if (upLoaded)
                     //{
                     //    //file.Delete();
                     //}
                     Console.WriteLine(file.Name + "XXX");
                    
                 }
                 catch (Exception ex)
                 {
                 }
             }
            
             //递归处理子文件夹内文件
             foreach (DirectoryInfo childFolder in fatherFolder.GetDirectories())
             {
                 DealFiles(childFolder.FullName);
             }
         }---end---