我正在使用以下文章在我的asp.net应用程序中保持会话活动。
但是当我在javascript中使用alert检查会话变量值时,我没有找到任何内容。 alert('<%=Session["Heartbeat"]%>');
实际上在我的网页上没有回发。我正在从Jquery Ajax做的所有工作。当只有回发时,该文章的解决方案才有效。 但我想让我的会话保持活力而不进行任何回发。
请帮助伙伴.....
答案 0 :(得分:1)
alert('<%=Session["Heartbeat"]%>');
将无效,因为<%=Session["Heartbeat"]%>
是服务器端代码。
为了使Session保持活跃,您只需要对服务器进行简单的Ajax调用。
实现ASHX通用处理程序的最简单方法,并通过Ajax调用它。例如,
<%@ WebHandler Language="C#" CodeBehind="Ping.ashx.cs" Class="PROJECT_NAMESPACE.Ping" %>
public class Ping : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
context.Response.Write("Ping");
}
public bool IsReusable { get { return false; }}
}
答案 1 :(得分:0)
请试试example: -
<script language="javascript" type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script language="javascript" type="text/javascript">
function KeepSession() {
// A request to server
$.post("http://servername:port/appName/SessionCheck.aspx");
//now schedule this process to happen in some time interval, in this example its 1 min
setInterval(KeepSession, 60000);
}
// First time call of function
KeepSession();
</script>