我目前正在隔离WCF Web服务的接口定义,并将客户端排序为依赖于这些接口而不是生成的服务客户端类。
目前使用的模式如下所示 -
var client = new ServiceClient();
client.DoSomethingCompleted += (o,args) =>
{
client.CloseAsync();
//Do Something
}
client.DoSomething();
美好而简单。客户端返回后立即关闭连接。
通过依赖代理的接口,您将丢失生成的事件,并且必须使用Async Begin / End模式。现在它会读 -
//client is now an IDoSomethingable
client.BeginDoSomething(new AsyncCallback((result) =>
{
var somethingDone = client.EndDoSomething(result);
}),null);
所以我的问题是当'EndDoSomething'被调用时客户端是否关闭,或者我错过了什么,因为似乎没有明确的方法来关闭它。
提前非常感谢。