【发布时间】:2014-03-08 14:09:38
【问题描述】:
上下文: C#、Microsoft .NET Framework 4.0、WinForms
问题:当我运行大量查询时,用户界面挂起。
说明: 在我的应用程序中,我允许用户将文本文件存储在特定目录中。但在存储文件之前,我必须确保该目录及其子目录没有文本文件。为此,我必须遍历目录并确保目录树没有*.txt 文件。
我的代码如下:
return Directory.GetFiles(path, "*.txt", SearchOption.AllDirectories).Any();
如果目录树很大,我的 UI 就会挂起,很残酷。
我尝试的替代方法是在上面的 LINQ 查询中添加一个 AsParallel() 调用,但这对我没有帮助。
当我运行Directory.GetFiles() 时,如何避免我的 FileChooser 窗口挂起?
谢谢。
【问题讨论】:
-
我在我的 winforms 应用程序中大量使用后台工作程序组件。
标签: c# .net winforms linq asynchronous