Tag: 文件管理

使用c#删除大量(> 100K)文件,同时保持Web应用程序的性能?

我试图从一个位置删除大量文件(大的意思是超过100000),从而从网页启动操作。 显然我可以使用 string[] files = System.IO.Directory.GetFiles(“path with files to delete”); foreach (var file in files) { IO.File.Delete(file); } Directory.GetFiles http://msdn.microsoft.com/en-us/library/wz42302f.aspx 此方法已经发布了几次: 如何删除目录中的所有文件和文件夹? 如果filename包含某个单词,则从目录中删除文件 但是这个方法的问题在于,如果你说十万个文件就会成为一个性能问题,因为它必须首先生成所有的文件路径然后再循环它们。 如果网页正在等待正在执行此操作的方法的响应,则添加到此,因为您可以想象它看起来有点垃圾! 我有一个想法是在一个不正常的Web服务调用中将它包装起来,当它完成时它会激活对网页的响应,说它们已被删除了吗? 也许将删除方法放在一个单独的线程中? 或者甚至可以使用单独的批处理来执行删除? 在尝试计算目录中的文件数时,我遇到了类似的问题 – 如果它包含大量文件。 我想知道这是否有点矫枉过正? 即有一个更简单的方法来处理这个? 任何帮助,将不胜感激。