我在我的Asp.net应用程序中遇到了一个问题,我正在设置会话超时,但经过一段时间后,会话仍然没有过期。此应用程序有一个SQL Server 2008后端数据库,我在其中存储了此应用程序的会话超时值。出于测试目的,我目前将其设置为3分钟。在Global.asax中,在Session_Start中,我有以下内容:
// Set the timeout
int timeout = GetSessionLength();
this.Session.Timeout = timeout;
GetSessionLength()是在向数据库查询会话超时后返回整数值的函数。
然后,在站点的母版页中,在Page
我已经到处寻找这个问题的答案。我有一个网站,播放长视频文件。我不希望用户在观看视频时超时,因此我希望在刷新会话的计时器上放置一个AJAX调用。许多人告诉我,对刷新页面上的会话执行任何操作就足够了,但都不起作用。我将php session expire设置为30分钟。我宁愿不再增加这一点。
下面是我的jquery / AJAX调用
//var time = 20000; // for live
var time = 10000; // for testing
// loop to handle refresh session
setInterval(function() {
// a
出于性能原因,我们的应用程序在启动时将某些SQLAlchemy模型实例加载到内存中。这些实例在应用程序的生命周期中不会发生变化,因此这是一个合理的解决方案。
在大多数情况下,这是很好的,但我观察到出现DetachedInstanceError: Instance <ZZZ at 0x3a23510> is not bound to a Session; attribute refresh operation cannot proceed的孤立事件,导致持续的问题。当我试图访问类似缓存对象上的延迟加载关系时,这与我(预期)收到的错误相同。
该错误似乎是由访问.id属性引起的,我希望不