0

对象是否Innerchannel手动处置?

var client = new MyClient();
client.CallServer();
client.InnerChannel.Dispose()
client.Close()

还是这足够了?

var client = new MyClient();
client.CallServer();
client.Close()

BaseClient<T>类实现了 IDisposable - 但它确实如此明确

例如:void IDisposable.Dispose()

这是否意味着我不应该手动调用Dispose()客户端?

我有点困惑 - 任何帮助表示赞赏

4

1 回答 1

0

无需InnerChannel明确处置您的客户。当您拜访Close您的客户时,它会关闭并InnerChannel为您处理。

您可以手动调用Dispose您的客户端,因为它会调用Close您客户端的方法。您唯一需要做的就是将您的客户分配给一个IDisposable. 否则,您无法直接在客户端上调用 Dispose。

或者您可以使用带有 using 语句的客户端

using (var client = new MyClient()) {
  client.CallServer();
}
于 2013-02-22T12:18:49.483 回答