Процесс не может получить доступ к файлу, потому что он используется другим процессом на удаленном сервере - PullRequest
0 голосов
/ 09 мая 2018

"Directory.Delete" в следующем коде выдает ошибку ...

Процесс не может получить доступ к файлу, потому что он используется другой процесс

Есть предложения?

Следующий код отлично работает с первого раза. Но при выполнении 2-го раза это выдает ошибку.

 public void Method1(){  

           //  NetworkShareAccesser implenting IDispoable
           // e.g: public class NetworkShareAccesser : IDisposable
           using (NetworkShareAccesser.Access(Config.DMS_SERVER_IP, Config.SERVER_DOMAIN_NAME, Config.SERVER_USERNAME, Config.SERVER_PASSWORD))
           {
           try
           {       
                 Directory.Delete(absolutePathServerForService, true);  
                 Directory.CreateDirectory(absolutePathServerForService);
                 Common.CopyFilesRecursively(new DirectoryInfo(sourcePath), new DirectoryInfo(targetPath));
            }
            catch (Exception e) { loggingService.Error(ex); }
    }

    // following method in common class 
    public static void CopyFilesRecursively(DirectoryInfo source, DirectoryInfo target)
    {
            foreach (DirectoryInfo directoryInfo in source.GetDirectories())
                CopyFilesRecursively(directoryInfo, target.CreateSubdirectory(directoryInfo.Name));
             foreach (FileInfo fileInfo in source.GetFiles())
                  fileInfo.CopyTo(Path.Combine(target.FullName, fileInfo.Name),true);                   
            }
...