我们在一个应用程序中使用#ziplib(在此处找到),该应用程序为偶尔连接的客户端应用程序从服务器同步文件。
我的问题是,使用这种算法,什么时候值得花费执行时间来进行文件的实际压缩?据推测,如果只同步一个小文本文件,压缩时间将不足以减少传输的大小,实际上会减慢整个过程。
由于压缩时间配置文件将根据文件数量、文件类型和这些文件的大小而改变,有没有一种好方法可以通过编程方式发现何时应该压缩文件以及何时应该按原样传递它们? 在我们的应用程序中,文件几乎总是照片,尽管照片的类型和大小可能会发生变化。
我还没有编写实际的文件传输逻辑,但希望使用它System.Net.WebClient
来执行此操作,但我也愿意使用替代方案来节省执行时间。
更新:随着讨论的发展,“压缩还是不压缩”是错误的问题吗?是否应该将重点放在System.Net.WebClient
用压缩的 WCF 流量或类似的东西替换旧方法?该实用程序的数据库同步部分已经使用 Microsoft Synchronization Framework 和 WCF,因此我当然对此持开放态度。我们现在可以做的任何限制网络流量的事情对我们的客户来说都是巨大的。