Работа с методами WCF Async Call Result - PullRequest
0 голосов
/ 11 марта 2011

Я использую Silverlight 4 со службами WCF для взаимодействия с базой данных.Я сталкиваюсь с одной проблемой.

Функция все в приложении silverlight.

    ServiceReference1.WCFSLServicesClient wc = new ServiceReference1.WCFSLServicesClient();

    private void button1_Click(object sender, RoutedEventArgs e)
    {
       _wait = new ManualResetEvent(false);
       wc.SayHelloCompleted += new EventHandler<ServiceReference1.SayHelloCompletedEventArgs>(wc_SayHelloCompleted);

       wc.SayHelloAsync("Mr. X");
//wait untill the call finish and then move next like     

       //Here I want to do some thing with result of above call.  And then proceed to next task . 

    }

    String Name = String.Empty;
    void wc_SayHelloCompleted(object sender, ServiceReference1.SayHelloCompletedEventArgs e)
    {
       Name =e.Result;
    }

Но все вызовы методов в Silver light являются асинхронными, поэтому я не могу получить это.

1 Ответ

1 голос
/ 11 марта 2011

Поместите все, что вы хотите сделать, в другой метод и вызовите этот метод из вашего Completed Handler.

void wc_SayHelloCompleted(object sender, ServiceReference1.SayHelloCompletedEventArgs e)
{
   Name =e.Result;

   MyNewMethod(Name);
}
...