如何使用Web服务坚持基于事件的异步模式?(How to consume web service a

2019-10-21 02:03发布

我下面从示例

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

使用基于事件的异步模式消耗实现的web服务(通过第三方)。

然而,我的程序需要做多个呼叫DoStuffAsync()因此将拿回尽可能多的DoStuffCompleted 。 我选择这需要一个额外的参数过载- Object userState来区分它们。

我的第一个问题是:它有效蒙上了GUID为以下对象,其中GUID是用来生成唯一的TaskID?

Object userState = Guid.NewGuid();

其次,我需要产卵关闭一个新的线程为每个DoStuffAsync()调用,因为我多次打电话呢?

此外,将是不错的对这个问题的一些网上的例子或教程。 (我一直在google搜索它了整整一天,并没有得到多少回)

非常感谢

新问题:我能否埋葬委托回调在AsyncCompletedEventArgs.UserState? 刚发现我需要一个回调给调用者做善后......哎呀!

Answer 1:

路过一个GUID,只要您把周围的Aync方法完成,所以当参考听起来不错,你知道如何把它放在正确的背景下。

该异步方法执行线程你。 除非你想有一个线程,使你的所有异步调用不要做另一个线程。 但我建议得到它做这样的事情之前的工作。 建立起来的步骤。



文章来源: How to consume web service adheres to the Event-based Asynchronous Pattern?