千家信息网

.NET4.5中异步IO的示例分析

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要为大家展示了".NET4.5中异步IO的示例分析",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下".NET4.5中异步IO的示例分析"这篇文章吧。
千家信息网最后更新 2026年11月03日.NET4.5中异步IO的示例分析

这篇文章主要为大家展示了".NET4.5中异步IO的示例分析",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下".NET4.5中异步IO的示例分析"这篇文章吧。

在C/S架构中,不管是传统的winform还是wpf都可能会遇到进行异步操作文件的时候。文件小还好说,直接写操作代码。

如果是大文件很多时候做成异步的操作。在界面上显示一个进度条什么的,后台使用一个backgroundworker来做。在这里告诉大家在.NET Framework4.5中支持异步IO的操作。大大简化之前些的异步方法代码。

使用backgroundworker代码

代码如下:


View Code

private void Button_Click_3(object sender, RoutedEventArgs e)
{
System.ComponentModel.BackgroundWorker bak = new System.ComponentModel.BackgroundWorker();
bak.DoWork += bak_DoWork;
bak.RunWorkerCompleted += bak_RunWorkerCompleted;
bak.RunWorkerAsync();
}

void bak_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
{
string sourceDir = @"E:\";
string endDir = @"F:\";
foreach (string filename in Directory.EnumerateFiles(sourceDir))
{
using (FileStream SourceStream = File.Open(filename, FileMode.Open))
{
using (FileStream DestinationStream = File.Create(endDir + filename.Substring(filename.LastIndexOf('\\'))))
{
SourceStream.CopyTo(DestinationStream);
}
}
}
}

void bak_RunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e)
{
MessageBox.Show("ok");
}

以上应该是最基本的操作了,代码是不是很多?看看.NET Framework 4.5的写法吧。

复制代码 代码如下:


private async void Button_Click_2(object sender, RoutedEventArgs e)
{
string sourceDir = @"E:\";
string endDir = @"F:\";
foreach (string filename in Directory.EnumerateFiles(sourceDir))
{
using (FileStream SourceStream = File.Open(filename, FileMode.Open))
{
using (FileStream DestinationStream = File.Create(endDir + filename.Substring(filename.LastIndexOf('\\'))))
{
await SourceStream.CopyToAsync(DestinationStream);
}
}
}
MessageBox.Show("ok");
}

以上是".NET4.5中异步IO的示例分析"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

代码 示例 分析 内容 文件 篇文章 时候 学习 帮助 传统 写法 后台 方法 易懂 更多 条理 架构 界面 知识 编带 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技互联网龙头 科技和互联网公司 互联网通讯科技 科技互联网政务服务 互联网 的科技创新 善班互联网科技 齐家互联网科技有限公司 江苏南京365互联网科技 阿里巴巴算科技企业还是互联网 创业天下互联网科技有限公司 互联网对科技的发展 华夏互联网科技业 恒生互联网科技指数跳水 米聚互联网科技南京有限公司排面 西安小鹰速贷互联网科技有限公司 爱医互联网络科技 伍佰万互联网科技怎么赚钱 中国互联网有什么科技 山东大美朱楼互联网科技有限公司 陕西九四连强互联网科技有限公司 互联网科技股 合肥互联网科技公司 互联网科技大会案例 哈尔滨新华互联网科技学院 广州慧亚互联网科技怎么样 互联网科技热点资讯 中国科技创新与世界互联网大会 富国互联网金融科技混合基金 广东鹅鹅鹅互联网科技有限公司 高科技和互联网的现代国家
0