如何在 .NET 2.0 中异步复制文件?

Posted

技术标签:

【中文标题】如何在 .NET 2.0 中异步复制文件?【英文标题】:How to async copy files in .NET 2.0? 【发布时间】:2013-12-09 10:53:20 【问题描述】:

我正在尝试在 WinForms 应用程序中使用 .NET 2.0 将文件从一个驱动器异步复制到另一个驱动器。我已经使用本指南在 .NET 4.5 中进行了这项工作:http://msdn.microsoft.com/en-us/library/kztecsys(v=vs.110).aspx - 我正在寻找与此等效的 .NET 2.0(指南中的 2.0 版本处理图像处理)。

或者,有没有什么好的框架可以为我处理这个问题?

【问题讨论】:

【参考方案1】:

async/await 在后台使用 ThreadPool。所以如果你想复制文件并隐藏进度条你可以使用tis代码

    public delegate void InvokeDelegate();

    private void CopyFiles()
    
        ....
    

    public void HideProgressBar()
    
        ...
    

    void CopyFilesAsync(object sender, EventArgs e)
    
        ThreadPool.QueueUserWorkItem(x =>
        
            CopyFiles();
            BeginInvoke(new InvokeDelegate(HideProgressBar));
        );
    

【讨论】:

以上是关于如何在 .NET 2.0 中异步复制文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何按 .NET 2.0 中的特定属性对列表进行排序? [复制]

ASP.Net Core 2.0 如何获取中间件中的所有请求标头? [复制]

如何在 .NET 中复制文件夹以及所有子文件夹和文件? [复制]

如何在 .NET 4.0 中使用 Microsoft.Bcl.Async 支持 TransactionScope 中的异步方法? [复制]

jsf 2.0 中的不可见评论? [复制]

使用asp.net 2.0中的SqlBulkCopy类批量复制数据