限制File.Copy的速度

Ste*_*fen 12 .net c# copy file

我们在C#中使用一个简单的File.Copy将数据库备份移动到额外的位置.

但是在某些服务器上,这会导致SQL服务器停止工作.这些服务器的内存非常有限,因此它们经常将数据分页到硬盘驱动器.

虽然我们应该购买更多内存,但这不会发生很长时间: - /

所以我想知道我是否可以某种方式限制File.Copy操作的速度?(从而为SQL服务器提供了访问硬盘的空间)

我可以使用两个流的"旧学校"方法,通过缓冲区读取和写入,并且在读取之间只睡5毫秒左右.但我真的更喜欢更整洁的解决方案,如果有这样的解决方案.

Jar*_*dek 7

CopyFileEx可能会做你需要的 - 它有一个你可以用作人工的回调函数slowing method(虽然我没有尝试过这种情况所以我不确定真正的效果 - 值得一试恕我直言).

  • 刚刚实现了CopyFileEx - 并且在回调中睡觉(甚至是如此简短)正是我想要的.它为服务器提供了一些其他功能.所以感谢您的好建议:-) (3认同)