0

私のフレックス アプリケーションでは、アイドル状態のセッション アウトにイベント リスナーを使用しています。それは私のために働いていません。

これが私のコードです:

以下のコードをメソッドに配置しました

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

および呼び出し関数 onUserIDLE

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();          
    }
}

上記のコードは私のアプリケーションでは機能しません if(e.currentTarget.mx_internal::idleCounter == 60000)。ステートメントに入っていません。よろしくお願いします。

前もって感謝します!

4

2 に答える 2

2

この投稿によると、idleCounter が変更されたようです (これは mx_internal コンポーネントで常に発生する可能性があります)。そのため、独自のタイマーをロールする必要があると思います。

于 2012-05-25T09:54:44.243 に答える
0

Flex SDKはオープンソースであるため、いつでもSystemManager(およびWindowedSystemManager)クラスソースに飛び込んで、アイドルロジックがまだ存在し(SDK v.4.6.0をチェックした)、正常に動作することを確認できます。あなたの条件文によると、それがIFブロック内に入るかどうかを確認するために本当に100分待っていましたか?とにかく、いつでもトレースを使用してidleCounter値を追跡できます。ただし、コードに確信がある場合は、使用しているflexSDKのバージョンとFlashPlayerのバージョンを知っておくと役立ちます。

于 2012-05-25T11:59:24.057 に答える