脚本宝典收集整理的这篇文章主要介绍了.NET 4.5 异步IO 相关实例,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
在C/S架构中,不管是传统的winform还是wpf都可能会遇到进行异步操作文件的时候。文件小还好说,直接写操作代码。
如果是大文件很多时候做成异步的操作。在界面上显示一个进度条什么的,后台使用一个backgroundworker来做。在这里告诉大家在.NET Framework4.5中支持异步IO的操作。大大简化之前些的异步方法代码。
使用backgroundworker代码
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 4.5 异步IO 相关实例全部内容,希望文章能够帮你解决.NET 4.5 异步IO 相关实例所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。