Bonjour,
Je suis en train de développer une application en xPage.
J'ai besoin que l'utilisateur ne soit jamais déconnecté. A part bien sûr s'il ferme son navigateur ou bien il se déconnecte de l'application.
J'utilise donc ce bloc de script dans ma xPage pour qu'il n'y ait pas de déconnexion :
- Code : Tout sélectionner
<xp:scriptBlock id="KeepMySessionAlive">
<xp:this.value><![CDATA[
var dbpath = '#{javascript:facesContext.getExternalContext().getRequestContextPath()}';
var sTimeoutSec = (parseInt('#{javascript:context.getProperty("xsp.session.timeout")}' || 30) * 60) - 30;
if(!XSP.keepAlive)
{XSP.keepAlive=function xe_ka(){
setTimeout('XSP.keepAlive()',sTimeoutSec * 1000);
dojo.xhrGet({url:dbpath + '/xsp/.ibmmodres/ping',
handleAs:'text',
preventCache:true});
};
setTimeout('XSP.keepAlive()',sTimeoutSec * 1000)}
]]></xp:this.value>
</xp:scriptBlock>
Mon problème est le suivant :
L'utilisateur reste bien connecté au bout des 30 minutes (durée de la session http sur mon serveur), je le vois au niveau du serveur.
Après 30 minutes, je clique sur un bouton qui affiche un message via un alert (javascript côté client), ça fonctionne nickel
Par contre j'ai un problème pour le javascript exécuté côté serveur, au bout de 30 minutes, je clique sur un autre bouton qui fait un print (javascript côté serveur) pour afficher un message dans ma console serveur, aucun message.
Je suis obligé de recharger ma page dans le navigateur avec un F5 et ensuite ça fonctionne.
Auriez-vous une idée pour que mon javascript côté serveur fonctionne toujours après ce délai de 30 minutes.
Merci d'avance pour votre aide.