【发布时间】:2009-03-11 20:18:48
【问题描述】:
如何调用返回布尔值的方法,但在该方法内部为了确定布尔值,它异步调用 Web 服务?
bool myBool = GetABoolean(5);
public bool GetABoolean(int id)
{
bool aBool;
client.CallAnAsyncMethod(id); // value is returned in a completed event handler. Need to somehow get that value into aBool.
return aBool; // this needs to NOT execute until aBool has a value
}
所以我需要让 GetABoolean 方法等到 CallAnAsyncMethod 完成并返回一个值,然后再将 bool 返回给调用方法。
我不知道该怎么做。
【问题讨论】:
-
这就是调用异步的全部要点——你不必等待结果......所以如果你想要结果——只需同步调用它!
-
异步调用的原因是不是你无法控制的?如果没有,马克就在点。不要过于复杂(具体原因请参见我极其复杂的示例)。
-
这是用于 Silveright 的端口。否则我的通话将保持同步,我会更开心!
标签: c# wcf silverlight asynchronous