gpt4 book ai didi

.net - 关闭并处置 - 调用哪个?

转载 作者:行者123 更新时间:2023-12-03 04:20:34 25 4
gpt4 key购买 nike

已阅读主题 Is SqlCommand.Dispose enough?Closing and Disposing a WCF Service我想知道对于 SqlConnection 等类或从 Stream 类继承的几个类之一,如果我关闭 Dispose 而不是 Close 是否重要?

最佳答案

我想澄清一下这个情况。

根据 Microsoft 指南,在适当的情况下提供 Close 方法是一个很好的做法。 Here引用自 Framework design guidelines

Consider providing method Close(), in addition to the Dispose(), if close is standard terminology in the area. When doing so, it is important that you make the Close implementation identical to Dispose ...

在大多数情况下,CloseDispose 方法是等效的。对于 SqlConnectionObject 来说,CloseDispose 之间的主要区别是:

An application can call Close morethan one time. No exception isgenerated.

If you called Dispose methodSqlConnection object state will bereset. If you try to call anymethod on disposed SqlConnectionobject, you will receive exception.

也就是说:

  • 如果您使用连接对象一时间,请使用Disposeusing block 将确保即使在发生异常时也会调用它。
  • 如果必须重用连接对象,使用关闭方法。

关于.net - 关闭并处置 - 调用哪个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com