从异步Web服务调用返回值

时间:2009-08-13 15:31:46

标签: vb.net web-services asynchronous asmx return-value

我在VS 2005中的VB.Net中使用ASMX Web服务。我在Web服务上调用一个返回true或false值的函数方法。如果我同步调用web方法,这可以正常工作,但是如果我想异步调用该方法,则该函数返回一个sub,并且没有返回值;因此,我无法判断通话的结果是真还是假。有没有办法进行异步调用并仍然得到true或false结果(可能使用userState对象)?

例如:

Dim MyResult as Boolean = MyService.GetResult(10)
Dim MyResult as Boolean = MyServer.GetResultAsync(10) 

编译器抱怨这不起作用:“表达式不会产生值”

2 个答案:

答案 0 :(得分:0)

您没有说明您正在使用哪种应用,但请查看How to: Implement an Event-Driven Asynchronous Web Service Client Using ASP.NET 2.0

答案 1 :(得分:0)

在VS为您创建的代理类中,必须存在类似于BeginGetResult的东西 - 此方法返回接口IAsyncResult - 借助它们,您可以检测执行完成的时间。之后你会得到一个价值。