在同步模型中它很简单
using (MyServiceClient msc = new MyServiceClient())
{
msc.Method();
}
但是如果我必须等到这个方法结束,然后再做一些事情,那是行不通的
private void EventHandler<MethodCompletedEventArgs> myEventHandler = new EventHandler<MethodCompletedEventArgs>(methodBody);
using (MyServiceClient msc = new MyServiceClient())
{
msc.MethdCompleted += myEventHandler;
msc.BeginMethod();
}
private void MethodBody()
{
//exception: client state is aborted
}
还有如何在using
语句中调用异步方法?
最佳答案
你不应该这样做。
您应该正常实例化 MyServiceClient
,然后在异步回调处理程序中对其进行Dispose
。
这是确保实例在调用回调处理程序后仍然存在并且在回调处理程序完成其工作后销毁的唯一方法。
关于c# - 如何在using语句中调用异步wcf方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12897743/