Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何为我的代码设置正确的过期会话?_C#_Session Timeout_Expired Sessions - Fatal编程技术网

C# 如何为我的代码设置正确的过期会话?

C# 如何为我的代码设置正确的过期会话?,c#,session-timeout,expired-sessions,C#,Session Timeout,Expired Sessions,我有一个代码,为会话执行弹出消息已过期,如下所示。但是,此代码无法执行正确的计数会话。当运行该程序时,它将直接弹出会话过期消息,该消息与我设置的时间不符。我知道为什么我的消息会这么早弹出,因为在我的 Page.ClientScript.RegisterStartupScript(cstype, csname, strconfirm, false); 我没有添加“超时”,所以它没有按照我的要求执行,但是如何添加它呢?当我尝试添加它时,它将导致输入格式错误。有人能帮我解决这个问题吗 string

我有一个代码,为会话执行弹出消息已过期,如下所示。但是,此代码无法执行正确的计数会话。当运行该程序时,它将直接弹出会话过期消息,该消息与我设置的时间不符。我知道为什么我的消息会这么早弹出,因为在我的

Page.ClientScript.RegisterStartupScript(cstype, csname, strconfirm, false);
我没有添加“超时”,所以它没有按照我的要求执行,但是如何添加它呢?当我尝试添加它时,它将导致输入格式错误。有人能帮我解决这个问题吗

string csname = "timeoutWarning";
Type cstype = this.GetType();
if (!Page.ClientScript.IsStartupScriptRegistered(cstype, csname))
{
    var timeout = HttpContext.Current.Session.Timeout * 60 * 1000;
    string strconfirm = "<script>if(!window.confirm('Your login session is about to expire. Do you want to extend it?')){window.location.href='../login.aspx'}</script>";
    Page.ClientScript.RegisterStartupScript(cstype, csname, strconfirm, false);
}
string csname=“timeoutWarning”;
类型cstype=this.GetType();
如果(!Page.ClientScript.isstartupscript已注册(cstype,csname))
{
var timeout=HttpContext.Current.Session.timeout*60*1000;
string strconfirm=“如果(!window.confirm('您的登录会话即将过期。是否要扩展它?'){window.location.href='../login.aspx'}”;
Page.ClientScript.RegisterStartupScript(cstype,csname,strconfirm,false);
}

您无法设置超时 将java脚本代码提取到函数say
SessionTimeOutHandler()
,并在Session过期时调用该函数:

 string strconfirm = "<script>" + 
                     "window.setTimeout('SessionTimeOutHandler()', 60000);" + 
"function SessionTimeOutHandler() { "+
"    if(!window.confirm('Your login session is about to expire. Do you want to extend it?'))"
+"   {window.location.href='../login.aspx'}</script>"; }";
string strconfirm=”“+
“window.setTimeout('SessionTimeOutHandler()',60000);”+
“函数SessionTimeOutHandler(){”+
“如果(!window.confirm('您的登录会话即将过期。是否要扩展它?')”
+“{window.location.href='../login.aspx'}”;}”;

现在,只需替换strconfirm初始化语句。它应该适用于您!

多亏了您的解决方案,但弹出消息如何在过期时重复显示?谢谢&问候