thank you for your answer. I tried with the following timer. In my case seems that it does not work because the timer calls the ValidateSession function of the SessionManager that will update the WebAppSession.LastAccessDate field on the server. The main problem is that I have implemented a functions that set up the time to live of the session based on user role: ex. users with role A have a timeout of 5 minutes, users with role B have a timeout of 10 minutes. Maybe in my case the right approach is using the javascript on client side; i need to do more tests.

Object oLogoutTimer is a cWebTimer
        Set piInterval to 2000

        Procedure OnTimer
            String sSessionKey
            Boolean bTimedOut
            Get ReadSessionKey of ghoWebApp to sSessionKey
            If (sSessionKey<>"") Begin
                Get isMySessionTimedOut of ghoWebSessionManager sSessionKey False to bTimedOut
                If (bTimedOut) Begin
                    Send NavigateRefresh of ghoWebApp