试图创建一个异步方法

时间:2010-10-08 01:44:45

标签: c# vb.net asynchronous

上周我一直在尝试创建一个异步方法。我尝试了MSDN文章How to: Implement a Component That Supports the Event-based Asynchronous Pattern 但它在同一个类的方法中完成了工作。我正在做的工作要复杂得多,而且是自己的班级。我遇到的问题是执行工作的类不能发布进度或完成,因为处理这些东西的方法是在父类中。

有人对如何解决此问题有任何建议吗?

2 个答案:

答案 0 :(得分:1)

感谢答案chaps - 简单(和愚蠢)的错误 - 只是让父类中的事件共享而Bob是你的叔叔!

答案 1 :(得分:0)

听起来你应该考虑Asyncronous Processing Model(即从IAsyncResult派生)。该模型支持三种会合技术:wait-unti-done,方法回调和轮询。但您可以自由地在轮询之外实现进度功能(例如,公开事件或委托,或接受进程回调)。

Jeff Richter在MSDN中对此模型进行了深入的研究。从这里开始:

http://msdn.microsoft.com/en-us/magazine/cc163467.aspx