|
|
1
8
大多数异步方法返回IAsyncResult。 如果是,可以使用IAsyncResult.AsyncWaitHandle来阻止(IAsyncResult.AsyncWaitHandle.WaitOne)来阻止,直到操作完成。 即:
IAsyncResult res=client.CallAnAsyncMethod(id); res.AsyncWaitHandle.WaitOne(); //在这里做一些计算aBool有效值的事情! 返回aBool; |
|
|
2
4
或者同步调用该方法,或者添加
|
|
|
3
3
你能简单地同步调用web方法吗? |
|
|
4
2
这是最近几天我至少第三次看到这样的问题,所以我会问一些问题(OP的答案是显而易见的)。 为什么要考虑异步调用web服务?表演?不阻塞工作线程? 您是否看到过一个引导您使用异步web服务调用的示例?如果是的话,你能发布这个例子的URL吗? 谢谢你的时间。你对这些问题的回答将帮助我回答其他问题。 我在这个问题上添加了一个“silverlight”标签,我建议你以后也这样做,对于silverlight问题。这将创建所有“阻塞”调用都必须是异步的上下文。 现在,一个SilverLight专家应该回答,但我认为你的做法是错误的。您正在失去调用的异步特性。我认为GetABoolean方法也应该是异步的,在得到答案之前不应该返回。 |
|
|
5
0
如果在调用CallAnAsyncMethod和返回之间有更多的代码,那么异步地执行它(尽管这可能是不必要的预优化)有潜在的价值,否则就同步您的代码。 如果您无法控制强制您异步执行此代码的体系结构,则必须监视变量和循环以等待完成。
这是一个可怕的解决方案,在未来会给您带来巨大的麻烦,特别是如果您需要代码是线程安全的,但作为一个黑客,它可以工作。 |
|
|
Rami Dhouib · Flutter:如果等待时间超过2秒,则执行操作 10 月前 |
|
|
Jess The Witch · GCP云功能中处理延迟任务的模式 11 月前 |
|
Plup · 连接失败时,PyMongo异步客户端未引发异常 11 月前 |
|
|
user1233894 · 尝试从全局函数传递值 11 月前 |
|
|
Fabiano Taioli · 管理单线程Rust中的阻塞函数 1 年前 |
|
|
river7816 · 为什么spdlog不在async函数中打印 1 年前 |