To respond to a request from one of our clients, and provide a general response for many people who ask similar questions, I am providing here a basic summary of how session management works with mv.NET. This isn’t one of my normal articles, just some info to help some people get started.
For information about the login process, keeping processes alive, etc, have a look at the product documentation. If you wish, you can download the v4 docs here. The "Tips and Best Practices" guide discusses session pooling and sharing.
In short, the session manager service opens connections, and your client code connects to the session manager. The Account Profile determines how long connections remain open. A Pooled connection is held open by the session manager even when the code executes a Logoff() method. The Logoff method is more of the client saying "I am done" but that doesn’t speak for all other users who might want to make use of the DBMS connection. The net effect is that the first time the connection is opened, a scripted login into the DBMS is performed and there is a performance hit. But after that all users simply grab the first available session that’s already logged in – the Login() method similarly doesn’t do a full scripted login if a connection is already available. Most developers will have their client code Login during program initialization and then logout to make all connections available.
The Account Profile is an instrument that allows fine tuning of this process to ensure that connections are reserved for specific people, applications, or processes, and it allows management of how long processes will stay logged-in to the DBMS, to avoid consumption of DBMS licenses when you have other processes that need to make use of them.
For an overview of the architecture, the session manager, and account profiles, have a look at a video I created on our Gallery page.
At some point I may do another video to walk through some of the nuances of session management. v4 has a number of improvements in session management over v3.x, and this is one of the reasons that upgrades will be recommended when the new release is available.
I hope that’s enough to get some of you started. If you have comments, as always, post them here, but if you want to ask questions that may involve some exchanges, please use the forum.