C# 进程无法访问该文件,因为远程服务器上的另一个进程正在使用该文件
C# 进程无法访问该文件,因为远程服务器上的另一个进程正在使用该文件,c#,asp.net,asp.net-mvc,network-programming,file-permissions,C#,Asp.net,Asp.net Mvc,Network Programming,File Permissions,“Directory.Delete”在下面的代码中给出了一个错误 进程无法访问该文件,因为该文件正由用户使用 另一个过程 有什么建议吗 下面的代码第一次运行良好。但当执行第二次时,它会给出错误 public void Method1(){ // NetworkShareAccesser implenting IDispoable // e.g: public class NetworkShareAccesser : IDisposable
“Directory.Delete”
在下面的代码中给出了一个错误
进程无法访问该文件,因为该文件正由用户使用
另一个过程
有什么建议吗
下面的代码第一次运行良好。但当执行第二次时,它会给出错误
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);
}
这可能是因为FileInfo.copy无法看到本文。你必须创建文件并清理句柄。你说的第二次是什么意思?这两种方法中哪一种会导致错误?