关闭并处置 - 调用哪个?

2024-01-03

阅读主题后SqlCommand.Dispose 足够了吗? https://stackoverflow.com/questions/60919/is-sqlcommanddispose-enough and 关闭和处置 WCF 服务 https://stackoverflow.com/questions/23867/closing-and-disposing-a-wcf-service我想知道对于 SqlConnection 等类或从 Stream 类继承的几个类之一,如果我关闭 Dispose 而不是 Close 是否重要?


我想澄清一下这个情况。

根据 Microsoft 指南,最好提供Close适合的方法。Here https://learn.microsoft.com/en-us/dotnet/standard/design-guidelines/dispose-pattern是引用自框架设计指南 https://rads.stackoverflow.com/amzn/click/com/0321246756

考虑提供方法Close(),除了Dispose(),如果接近,是该领域的标准术语。这样做时,重要的是您必须Close实施方式相同于Dispose ...

大多数情况下Close and Dispose方法是等效的。这主要区别之间Close and Dispose如果是SqlConnectionObject is:

应用程序可以调用Close更多的 超过一次。也不例外的是 生成的。

如果你打电话Dispose method SqlConnection对象状态将是 重置。如果您尝试致电任何 处置方法SqlConnection对象,您将收到异常。

那是说:

  • 如果您使用连接对象一 时间、使用Dispose. A using即使发生异常,块也会确保调用它。
  • 如果必须重用连接对象, 使用Close method.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关闭并处置 - 调用哪个? 的相关文章

随机推荐