在GeneXus应用程序中捕获ASP.NET会话超时

我需要在C#中生成的GeneXus X应用程序中捕获ASP.NET Session Tiemout。当用户远离键盘超过N分钟时,我想再次请求用户/密码而不会丢失webform中的数据更改     
已邀请:
您应该考虑只在服务器中扩展会话超时,这样您就不需要首先解决问题。 如果这不是一个选项,你可以让用户控件定期检查会话是否通过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是一个主要的/ http proc,它可以做类似的事情
&httprespone.addstring(&websession.get('userid'))
如果不是,请禁用屏幕按钮并以某种方式显示登录表单: 我从来没有试过这个,但似乎有可能。 另一种方法是将会话检查代码附加到提交按钮,在任何javascript框架中都应该足够简单。     

要回复问题请先登录注册