1

我正在按照以下示例进行操作

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

使用基于事件的异步模式(由第 3 方)实现的 Web 服务。

但是,我的程序需要多次调用,DoStuffAsync()因此将返回尽可能多DoStuffCompleted的 . 我选择了带有额外参数的重载 -Object userState来区分它们。

我的第一个问题是:将 aGUID转换为 Object 是否有效,其中 GUID 用于生成唯一的 taskID?

Object userState = Guid.NewGuid();

其次,我是否需要为每个DoStuffAsync()调用生成一个新线程,因为我多次调用它?

此外,如果有一些关于这个主题的在线示例或教程,我会很高兴。(我整天都在谷歌上搜索它并没有得到太多回报)

非常感谢

新问题:我可以在 AsyncCompletedEventArgs.UserState 中隐藏委托回调吗? 刚刚发现我需要给调用者一个回调来做善后......哎呀!

4

1 回答 1

0

只要您保留引用,传递 Guid 听起来就很好,因此当 Aync 方法完成时,您知道如何将它放在正确的上下文中。

Async 方法为您执行线程。除非您想要一个线程来进行所有异步调用,否则不要执行另一个线程。但我建议在做类似的事情之前让它工作。逐步建立它。

于 2010-04-09T11:57:33.473 回答