当前位置:  开发笔记 > 编程语言 > 正文

如何创建具有异步功能的类(类似于SqlCommand或WebRequest)?

如何解决《如何创建具有异步功能的类(类似于SqlCommand或WebRequest)?》经验,为你挑选了1个好方法。

我最近读了很多关于异步编程的内容,因为我需要创建一个多线程应用程序.

不幸的是,我似乎无法将我新获得的知识整合到一个有凝聚力和有用的单元中!

我希望有人可以给我一些关于如何构建以下内容的指示:

我有一个类,它按指定的顺序执行许多不同的(和耗时的)任务.

我想在Winforms UI线程中实例化这个类.例如:

TaskRunner tr = new TaskRunner();

我希望能够调用BeginAsync()方法(就像你可以使用许多.NET内置对象一样).例如:

tr.BeginAsync();

我希望我的类在某些事件发生时回调到我的UI线程(用于记录,完成等).

我希望能够取消我班级的执行.例如:

tr.CancelAsync();

我如何建立该类的内部?我似乎无法找到任何有关SqlCommand或WebRequest内部如何工作的内容.



1> casperOne..:

对于此操作,您希望使用基于事件的异步模式(而不是IAsyncResult设计模式).有关详细信息,请参阅位于以下位置的标题为"基于事件的异步模式概述"的MSDN文档部分:

http://msdn.microsoft.com/en-us/library/wewwczdw.aspx

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有