等待c#中的异步方法调用

时间:2016-06-08 02:37:33

标签: c# wcf

我有一个WCF服务,如下所示

public bool RefreshDB()
{
   if (twcPMRefresh())
            status = true;
   if (twcCommonRefresh())
            status = true;
}

方法twcPMRefresh()和twcCommonRefresh()中的逻辑是异步的,因此我想等到'twcPMRefresh'完成后才完成 执行然后调用twcCommonRefresh。这两种方法都不像下面那样。

public bool twcPMRefresh()
{
     tweets=await
         (from tweet in GetTwitterContext(localProxyIP,fCode).Status
         where tweet.Type == StatusType.User &&
         select tweet)
     .ToListAsync();
     --use 'tweets' list to insert in database
 }

可以请你协助。谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用await async方法:

假设您的twcPMRefresh()twcCommonRefresh()方法都是ASYNC,您可以这样写:

public async bool RefreshDB()
{
   if (await twcPMRefresh())
       status = true;
   if (await twcCommonRefresh())
       status = true;
}

您的方法RefreshDB()现在可以被调用:

bool result = RefreshDB().Result()
bool result = await RefreshDB(); //Needs an async Method or a task to be used.