C#Sequential File.Copy或FileStream kill服务器

时间:2017-07-04 15:00:44

标签: c# file server copy remote-access

复制文件时遇到很大问题。当我通过File.Copy或FileStream复制文件时,执行代码会终止我的服务器。我将十个文件从远程目录复制到temp目录。最大的文件大约有20MB并导致错误

首先我尝试了File.Copy(),当我运行代码时,服务器崩溃了。

foreach (string file in customerFiles)
{                    
    File.Copy(file, tempOnFile);
}

当我在foreach中尝试使用此代码时,发生了同样的服务器崩溃:

byte[] buffer;
FileStream fileReader = new FileStream(file, FileMode.Open, FileAccess.Read);                    
try
{
    int bufferSize = (int)fileReader.Length;
    buffer = new byte[bufferSize];
    int count, sum = 0;
    while ((count = fileReader.Read(buffer, sum, bufferSize - sum)) > 0 )
    {
        sum += count;
    }
}
catch(Exception ex)
{
    throw ex;
}
finally
{
    fileReader.Flush();
    fileReader.Close();
}

//Write
string fileOnTemp = pathToTemp + fileName;
FileStream fileWriter = new FileStream(fileOnTemp, FileMode.CreateNew, FileAccess.Write);
try
{  

    fileWriter.Write(buffer, 0, buffer.Length);
}
catch(Exception ex)
{
    throw ex;
}
finally
{
    fileWriter.Flush();
    fileWriter.Close();
}

请帮忙!谢谢, 米甲

0 个答案:

没有答案