3

C# で生成されたGeneXus Xアプリケーションで ASP.NET セッションのタイムアウトをキャプチャする必要があります。ユーザーが N 分以上キーボードから離れている場合、Web フォームのデータの変更を失うことなく、ユーザー/パスワードをもう一度要求したいと思います

4

1 に答える 1

3

サーバーでセッションタイムアウトを延長することを検討する必要があります。そうすれば、そもそも問題を解決する必要がなくなります。

それがオプションでない場合は、セッションがajax経由でアクティブかどうかを定期的にチェックするユーザーコントロールを作成できます.JQueryの例(テストされていません):

$(function() {
    setInterval(CheckSession, 10000); /*10 seconds*/
});

function CheckSession() {
    $.get("/CheckSession.aspx", function(data) {
        $("body").append("<p>" + data + "<p/>"); /*shows current user*/
        if(data = "")
           $("#loginform").fadein(200);
    });
} 

CheckSession は、次のような処理を行う main/http プロシージャです。

&httprespone.addstring(&websession.get('userid'))

そうでない場合は、画面のボタンを無効にして、何らかの方法でログインフォームを表示します。

私はこれを試したことはありませんが、可能だと思われます。

別の方法として、セッション チェック コードを送信ボタンにアタッチすることもできます。これは、どの JavaScript フレームワークでも十分に単純である必要があります。

于 2010-12-02T14:08:30.017 に答える