0

谁能告诉我如何在异步 wcf 服务中使用“ManualResetEvent”?我有一个控制台应用程序,它调用异步 wcf 服务,我想在“oncomplete”事件完成后关闭控制台应用程序。

如果可能,请给我一个样品。

提前致谢。

4

1 回答 1

2

您将编写控制台应用程序,如下所示:

class Program
{
    static ManualResetEvent exitEvent = new ManualResetEvent(false); // Create the wait handle

    static void Main()
    {
        using(var client = CreateYourClient())
        {
            client.MethodCompleted += MethodCompleted;
            client.MethodAsync(); // Start method

            exitEvent.WaitOne(); // Block until the method is done...
        } 
    }

    static void MethodCompleted(object sender, MethodCompletedEventArgs args)
    {
       // Do your work...

       // At this point, signal that the console can close...
       exitEvent.Set();
    }
}

但是,如果您只是在进行单个方法调用,最好让它同步。只有在同时调用多个异步方法时,这才是真正有益的。

于 2011-12-01T00:54:14.650 回答