I'm currently developing a C# Remoting application. The application will be a windows service that basically connects to a couple databases and fields requests from the clients. I am currently using SAO and singleton.
- I would like to establish a single connection to each database for all connections to use. (Connections take 1-2 seconds)
- Keep database connections open until the last client disconnects.
Currently I have the database connections open when the class is initialized (if the database connections aren't already open) and they remain open until the service restarts. The issue is the connections never close and when the service has been idle for long enough the class opens a new database connection while the last database connection remains idle. I don't want to close the database after each procedure call because that would defeat the purpose and I would be better off going with SingleCall.
How do I manage the database connection for a singleton remoting object? Is there an event that fires when the class is idle?