我熟悉创建 WCF 客户端、调用标准方法、然后在完成后关闭或中止客户端的最佳实践,但我想知道客户端的异步方法。
我有一个管理器类,它有一些传递事件供消费类附加,以便检索异步调用的结果。例如:
internal sealed class CommController
{
public event GetClientIdEventHandler ClientIdReceived;
private readonly LocalCommSvcClient _localCommSvcClient = new LocalCommSvcClient();
public CommController()
{
_localCommSvcClient.GetClientIdCompleted += (o, e) => ClientIdReceived(o, e);
}
public void GetClientIdAsync()
{
_localCommSvcClient.GetClientIdAsync();
}
}
但我看不到客户在哪里关闭和/或处置。我真的找不到太多关闭 WCF 客户端的最佳实践,因为它与异步使用有关。我应该把 .Close() 和/或 .Abort() 调用放在哪里?