In general, I would open/close the connection as necessary. I probably wouldn't keep a connection open for long periods of time either (or rely on it at least). You will likely need to implement code that detects if a connection has been closed and retries for you to open it.
Ryan Dunn
Extemporaneous MumblingsThe .NET Developer's Guide to Directory Services Programming