Versions des environnements
Database:
Jet/Access Engine
>>>Always check whether a .NET or third-party class implements IDisposable() and, if so, call the Dispose() method when you're finished with it. (There are exceptions to this - sometimes a class (e.g. ADO.NET Connection) will expose a Close() method and using this is preferable)
>>
>>Close is preferrable to Dispose? Is that just because you're explicitly closing the connection, or is there another reason? I usually do the close as the last line in my using block. Actually, I haven't used any ADO.NET classes for a looong time.
>
>I wouldn't say "preferrable", I'd say "interchangeable".
Internally Dispose() calls Close() but not vice versa. OTOH since the clean-up occurs in the Close() method I guess they could regarded as interchangeable.
MS also says that both options will return the connection to the pool (if pooling is enabled) - but here I'm a little confused. I've read that Dispose(), unlike Close(), will clear the connection string. If that is true and it is also returned to the pool I don't see how it will ever be re-used since it won't match any subsequent request for a connection.
Maybe what I read about the connection string being cleared was wrong - I haven't verified it ......
Précédent
Suivant
Répondre
Voir le fil de ce thread
Voir le fil de ce thread à partir de ce message seulement
Voir tous les messages de ce thread
Voir tous les messages de ce thread à partir de ce message seulement