Aplicație Flex în așteptare la expirarea sesiunii

În aplicația mea flexibilă, folosesc un ascultător de evenimente pentru ședință în starea inactiv. Nu funcționează pentru mine.

Aici este codul meu:

Am plasat codul de mai jos într-o metodă

this.systemManager.addEventListener(FlexEvent.IDLE,onUserIDLE);

și funcția de apelare peUserIDLE

private function onUserIDLE(e:FlexEvent):void
{           
    if(e.currentTarget.mx_internal::idleCounter == 60000)
    {
        this.systemManager.removeEventListener(FlexEvent.IDLE,onUserIDLE);
        Alert.show("Session time Out");
        menuRO.logoutUser();
        signOutBtn_clickHandler();          
    }
}

Codul de mai sus nu funcționează pentru aplicația mea, nu intră în instrucțiunea dacă (e.currentTarget.mx_internal :: idleCounter == 60000) . Dă-mi sugestii.

Mulțumesc anticipat!

0
adăugat autor Samajdar, sursa

2 răspunsuri

În conformitate cu această postare , se pare că idleCounter sa schimbat (ceea ce se poate întâmpla întotdeauna cu componentele mx_internal), deci cred că va trebui să vă răsturnați cronometrul.

2
adăugat

Din moment ce Flex SDK este open source, puteți să vă aruncați întotdeauna în sursele de clasă SystemManager (precum și WindowedSystemManager) pentru a vedea că logica în așteptare este încă acolo (am verificat SDK v.4.6.0) și funcționează bine. Conform afirmației tale condiționate, așteptai cu adevărat 100 de minute pentru a vedea dacă intra în blocul IF? Oricum, puteți utiliza întotdeauna urmă pentru a urmări valoarea idleCounter. Dar dacă sunteți sigură în codul dvs., va fi util să aflați ce versiune de SDK flex și ce versiune de FlashPlayer utilizați.

0
adăugat