.Net异步Web服务调用

时间:2010-07-20 15:47:42

标签: .net web-services

我知道线程应用程序的所有内容,但之前没有通过Web服务完成此操作。我不想让客户端管理各种线程,而只想触发异步方法并从回调中获取结果。

它看起来很直接 - 只需在visual studio生成的代理类中调用异步方法即可。但等等......我没有任何地方可以指定回叫。

MSDN和其他sites告诉我我应该使用Begin [MethodName]和End [MethodName],但它们似乎不存在/已生成,我确实有[MethodName] ] Async方法很好(see here),但它没有传递委托/回调的选项。

我也有(静态)ServiceName.MethodNameEventHandler / Args可用,但不能使用它,因为它不是实例化服务的一部分。

发生了什么事?以及如何从Web服务发送/接收回叫。我注意到我所做的所有谷歌搜索都为我提供了很古老的网站。任何人都可以为我提供一个例子。

3 个答案:

答案 0 :(得分:0)

我相信当您通过VS生成Web服务时,如果您想创建异步方法,则会有一个复选框。也许你忘记检查,所以你的服务没有开始和结束方法?

答案 1 :(得分:0)

如果你有[MethodName]异步方法,你应该有[MethodName]已完成的事件,你可以订阅,这将作为你的回调。

在vb.net中它应该是这样的:

AddHandler yourWebProxyClassInstance.[MethodName]Completed, AddressOf YourMethod

答案 2 :(得分:-1)

我想你会发现这篇文章非常有用,关于如何正确处理带或不带回调的异步webmethods。

http://www.codemag.com/Article/0305071

希望这有帮助,

Paolo Marani