我需要在网络上传输许多小文件。 我的文件总大小大约为 3G, 将来还会增长。 我知道, 我是否在网络上将文件( winrar 文件、 winzip 文件 或 7 个 zip 文件 ) 转换为类似文件, 网络上的性能会更好, 但我稍后会支付 Cpu 时间来压缩和解除压缩文件 。
是否有办法在C# # 传输我的目录 在只有一个文件 unchout 使用第三方,如 winrar, winzip, 7zip...
将我的文件夹、子文件夹和文件转换为最佳性能的最佳方式是什么?
现在我使用自定义的方法来做它导致 董事会。 Move
给了我一些问题
这是我的实际方法,我知道它可能不是 最高级的性能转换方法,有什么建议吗?
问题是:
< energ> 如何将我所有的目录和文件转换为更好的性能, 包括压缩和减压( 如果需要的话), 在 c# 中的网络共享中? strong >
private void CopyDirectory(string source, string destination)
{
string[] files;
if (!Directory.Exists(destination)) DirectoryHelper.CreateDirectoriesFromPath(destination);
files = Directory.GetFileSystemEntries(source);
foreach (string fileElement in files)
{
if (Directory.Exists(fileElement))
{
if (!ExcludedDirectoryName.Contains(Path.GetFileNameWithoutExtension(fileElement)))
{
CopyDirectory(fileElement, Path.Combine(destination, Path.GetFileName(fileElement)));
}
}
else
{
try
{
// Valide si le fichier fait partie de la liste d exclusion
if (!ExcludedDirectoryName.Contains(Path.GetFileNameWithoutExtension(fileElement)))
{
// Calcule le Path de destination
string destinationFile = Path.Combine(destination, Path.GetFileName(fileElement));
// Valide si le fichier existe
if (FileHelper.Exist(destinationFile))
{
// Supprime le fichier
File.Delete(destinationFile);
}
// Copie le nouveau fichier
File.Copy(fileElement, destinationFile, true);
}
}
catch (IOException ioEx)
{
// Log l exception
ExceptionLogger.Publish(ioEx);
}
}
}
}