我在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)
编译器抱怨这不起作用:“表达式不会产生值”
答案 0 :(得分:0)
您没有说明您正在使用哪种应用,但请查看How to: Implement an Event-Driven Asynchronous Web Service Client Using ASP.NET 2.0。
答案 1 :(得分:0)
在VS为您创建的代理类中,必须存在类似于BeginGetResult的东西 - 此方法返回接口IAsyncResult - 借助它们,您可以检测执行完成的时间。之后你会得到一个价值。