I would not cache a connection object that defeats the built-in connection pool. ADO.NET will handle the connections (assuming you instantiate and close them) by itself.
As for the connection string itself, you do not need to cache it if you download it from the connection - the connection manager object in the .NET 2.0 platform loads the configuration into memory the first time you access it, therefore, it does not repeat trips to the file system.
Guy starbuck
source share