2601: Implemented ClientStillAliveCheck.

http://bazaar.launchpad.net/~christian-k/openpetraorg/20140624_webservices_branch__client_server_fixes/diff/2601
2602: More logging...
http://bazaar.launchpad.net/~christian-k/openpetraorg/20140624_webservices_branch__client_server_fixes/diff/2602
2603: ClientStillAliveCheck: Need to stop the Thread so that it doesn't run another time after the client has already been disconnected!
http://bazaar.launchpad.net/~christian-k/openpetraorg/20140624_webservices_branch__client_server_fixes/diff/2603
2604: SessionManager.cs: Do not call 'DomainManager.CurrentClient.UpdateLastAccessTime()' if the called WebService is 'PollClientTasks', as this is not a user action.
http://bazaar.launchpad.net/~christian-k/openpetraorg/20140624_webservices_branch__client_server_fixes/diff/2604
2605: ClientStillAliveCheck: I found out that the disconnection of the Client isn't working as it should -> another attempt at forcefully disconnecting the Client that 'has gone missing', following the model of trunk rather closely. Still seems not to do what we want:

Excerpt from Webserver.log:
Monday, 07-Jul-2014, 21:12:46.30   : TClientStillAliveCheck (for ClientName 'DEMO_0''): ClientStillAliveCheckThread: timeout HAS been exceeded (last PollClientTasks call: 07/07/2014 21:09:51) -> calling FClientObject.EndSession()!
Monday, 07-Jul-2014, 21:12:46.30   : DisconnectClient: SessionEntry.ClientName='DEMO_0'
Monday, 07-Jul-2014, 21:12:46.30   : EndSession (for client 'DEMO_0'): Session is about to getting stopped!
Monday, 07-Jul-2014, 21:12:46.30   : EndSession (for client 'DEMO_0'): Checking whether there is a DB connection
Monday, 07-Jul-2014, 21:12:46.30   : (HttpContext.Current != null) : False
Monday, 07-Jul-2014, 21:12:46.30   : FindSessionID: Session ID not found in the http context AND ALSO NOT in the thread!!! thread id: 12
Monday, 07-Jul-2014, 21:12:46.30   : GetSessionID: sessionID == string.Empty! --> creating new session
Monday, 07-Jul-2014, 21:12:46.30   : FSessionObjects.count 1
Monday, 07-Jul-2014, 21:12:46.30   : thread id 12
Monday, 07-Jul-2014, 21:12:46.30   : GetSessionID: new sessionID = f86aa475-e753-4a96-a537-77bc372b4e3e
Monday, 07-Jul-2014, 21:12:46.30   : Running InitThread for ASessionID = f86aa475-e753-4a96-a537-77bc372b4e3e
Monday, 07-Jul-2014, 21:12:46.30   : thread id 12
Monday, 07-Jul-2014, 21:12:46.30   : EndSession (for client 'DEMO_0'): Checking whether there is a HttpSession.Current object
Monday, 07-Jul-2014, 21:12:46.30   : Session for client DEMO_0 has been destroyed successfully!

This indicates to me that somehow the Session isn't found in which the DB Connection should get closed, although the log output 'SessionEntry.ClientName='DEMO_0'' from Method DisconnectClient tells me that it has found the correct Session. Weird!?! (I saw this behaviour also before the changes in this Commit!!!)
NB: when 'EndSession' is called due to a client logout, the log output of the 'EndSession' Method looks different!

http://bazaar.launchpad.net/~christian-k/openpetraorg/20140624_webservices_branch__client_server_fixes/diff/2605