Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从文件中读取而不阻止其被删除_C#_Streamreader - Fatal编程技术网

C# 从文件中读取而不阻止其被删除

C# 从文件中读取而不阻止其被删除,c#,streamreader,C#,Streamreader,我正在编写一个windows服务,它可以读取网络上的文件共享。有时文件会写入文件共享,然后很快连续删除。是否有一种方法可以在读取文件的同时允许删除文件 基本上,我让一个filesystemwatcher监视网络路径,然后在为该目录创建的事件中,我检查文件路径,然后尝试在新线程上读取文件。当将文件写入目录的应用程序尝试快速删除它时,它会收到IOException,表示有另一个进程正在使用该文件。我没有在网络计算机上编写应用程序,也不想中断它的正常功能 这是我的密码 public async Tas

我正在编写一个windows服务,它可以读取网络上的文件共享。有时文件会写入文件共享,然后很快连续删除。是否有一种方法可以在读取文件的同时允许删除文件

基本上,我让一个filesystemwatcher监视网络路径,然后在为该目录创建的事件中,我检查文件路径,然后尝试在新线程上读取文件。当将文件写入目录的应用程序尝试快速删除它时,它会收到IOException,表示有另一个进程正在使用该文件。我没有在网络计算机上编写应用程序,也不想中断它的正常功能

这是我的密码

public async Task Copy(string src, string dest) {
    using (FileStream srcReader = File.Open(src, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
    using (Stream destWriter = File.Create(dest)) {
       await srcReader.CopyToAsync(destWriter, cancelToken);
}
。所以试试这个:

文件。打开 src, FileMode.Open, FileAccess.Read, FileShare.ReadWrite | FileShare.Delete 。所以试试这个:

文件。打开 src, FileMode.Open, FileAccess.Read, FileShare.ReadWrite | FileShare.Delete