【问题标题】:await async function C#等待异步函数 C#
【发布时间】:2014-01-31 15:46:28
【问题描述】:

我正在使用 WCF 开发 Silverlight 项目。我需要在另一个 WCF 函数完成后从 WCF 调用一个函数。这是我的代码:

Int32 id = Convert.ToInt32(((TextBlock)dataGrid1.Columns[0].GetCellContent(dataGrid1.SelectedItem)).Text.ToString());
        Service1Client obj = new Service1Client();
        obj.DeletePersonAsync(id);

        //Wait for delete operation

        obj.GetPersonListCompleted += new EventHandler<GetPersonListCompletedEventArgs>(ListPeople);
        obj.GetPersonListAsync();

我该怎么做?

【问题讨论】:

  • 那你为什么不使用await obj.DeletePersonAsync(id);?
  • 我试过了,但 await 在默认的 silverlight 项目中没有预定义。我需要添加类似参考的东西吗?
  • 您的目标是什么版本的 .Net?
  • 我正在使用 .NET 4.0 框架

标签: c# wcf silverlight asynchronous


【解决方案1】:

在 obj.DeletePersonAsync(id) 函数的回调中调用函数“GetPersonListAsync”。代码如下:

   private void somefunction()
{
    Int32 id = Convert.ToInt32(((TextBlock)dataGrid1.Columns[0].GetCellContent(dataGrid1.SelectedItem)).Text.ToString());
    Service1Client obj = new Service1Client();
    obj.DeletePersonAsyncCompleted += new EventHandler<DeletePersonCompletedEventArgs>(PersonDeleted);

    obj.DeletePersonAsync(id);
}


    private void PersonDeleted(DeletePersonCompletedEventArgs serviceResponse)
    {
     //Wait for delete operation

    obj.GetPersonListCompleted += new EventHandler<GetPersonListCompletedEventArgs>(ListPeople);
    obj.GetPersonListAsync();
    }

【讨论】:

    猜你喜欢
    • 2023-03-13
    • 2017-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-28
    • 2018-04-23
    • 2019-06-16
    • 2018-02-03
    相关资源
    最近更新 更多