我創建了一個服務,將某個目錄中的某些文件類型移動到另一個文件類型,這在本地運行良好,而且在我的網絡上運行速度非常快。在不同的網絡上,雖然它的工作速度非常慢(500mb文件需要6 1/2分鐘),但通過資源管理器複製並粘貼到文件夾中的相同文件在大約30/40秒內完成。C#File.Move服務緩慢通過網絡
發生文件移動的代碼片段。
currentlyProcessing.Add(currentFile.FullName);
try
{
eventMsg("Attempting to move file","DEBUG");
File.Move(oldFilePath, newFilePath);
eventMsg("File Moved successfully","DEBUG");
}
catch (Exception ex)
{
eventMsg("Cannot Move File another resource is using it", "DEBUG");
eventMsg("Move File Exception : " + ex, "DEBUG");
}
finally
{
if(File.Exists(currentFile.FullName + ".RLK"))
{
try
{
File.Delete(currentFile.FullName + ".RLK");
}
catch (IOException e)
{
eventMsg("File Exception : " + e, "DEBUG");
}
}
currentlyProcessing.Remove(oldFilePath);
}
我擔心的代碼是罰款(因爲它按預期工作的其他網絡上),所以這個問題可能是網絡,在某些形狀或形式。有沒有人有任何常見的技巧檢查,服務作爲本地系統(或網絡服務)運行,並且似乎沒有訪問問題。還有什麼其他因素會影響這個(網絡/硬件除外)。
我想要的是它具有與我在資源管理器中見過的相似的傳輸速度。任何指針不勝感激。
我認爲你需要使用ftp或任何這樣的文件傳輸協議通過網絡移動文件.. – dotNETbeginner