ASP.NET会话正在消亡?

ASP.NET会话正在消亡?,asp.net,session,Asp.net,Session,我有一个ASP.NET 4.0应用程序在AWS免费层上运行。我遇到的问题是,会议一直在进行中 我已在System.Web中包含以下内容: <sessionState mode="InProc" cookieless="false" timeout="720" /> 当昨晚测试时,会话在大约2-2.5小时后仍然有效,但是当我在一夜之间离开应用程序时(嗯,6小时),会话就结束了。为什么它不能存活?我需要它活着,因为该应用程序是由用户偶尔使用超过12小时轮班 问候, Bob您必须使用Re

我有一个ASP.NET 4.0应用程序在AWS免费层上运行。我遇到的问题是,会议一直在进行中

我已在System.Web中包含以下内容:

<sessionState mode="InProc" cookieless="false" timeout="720" />
当昨晚测试时,会话在大约2-2.5小时后仍然有效,但是当我在一夜之间离开应用程序时(嗯,6小时),会话就结束了。为什么它不能存活?我需要它活着,因为该应用程序是由用户偶尔使用超过12小时轮班

问候,


Bob

您必须使用ResolveUrl:

function KeepSessionAlive() 
{
    $.get(ResolveUrl('~/KeepSessionAlive.ashx'), function (data) { });
}

$(function () {
    setInterval(KeepSessionAlive, 300000); //5 minutes (call before session timeout - if timeout= 6)
});


function ResolveUrl(url)
{
    if (url.indexOf("~/") == 0) 
    {
        url = baseUrl + url.substring(2);
    }
    return url;
}
//或包含在母版页中

<script type="text/javascript">
    var baseUrl = '<%= ResolveUrl("~/") %>';
    function ResolveUrl(url) {
        if (url.indexOf("~/") == 0) {
            url = baseUrl + url.substring(2);
        }
        return url;
    }
</script>

var baseUrl='';
函数解析url(url){
if(url.indexOf(“~/”)==0){
url=baseUrl+url.substring(2);
}
返回url;
}

您的客户端在过去6小时内是否仍处于唤醒状态?服务器端是否有任何错误日志?@PhongVo似乎是这样。屏幕已进入睡眠状态,但我的Mac电脑仍然醒着。@老实说,我不知道EC2机器上的日志存储在哪里?我是否需要连接,或者它们是否在UI中随时可用?我需要什么类型的条目?在EC2控制台上,右键单击您的实例,然后选择
Get System Log
Hi,谢谢,但是为什么我需要使用解析url?一篇普通的文章不应该起作用吗?只是好奇.resolurl获取KeepSessionAlive.ashx的相对路径。除非你呆在主页上,否则你不能给KeepSessionAlive.ashx打电话(为我的坏消息感到抱歉)
<script type="text/javascript">
    var baseUrl = '<%= ResolveUrl("~/") %>';
    function ResolveUrl(url) {
        if (url.indexOf("~/") == 0) {
            url = baseUrl + url.substring(2);
        }
        return url;
    }
</script>