2012-03-14 74 views
1

我不断上传一个用户控件,然后把它放在更新面板中。使用javascript重新加载更新面板的用户控件在,它会停止会话超时?还是这取决于用户参与等?如果我正在使用计时器并持续加载控制页面,会否发生会话超时?

代码如下:

javascript函数:

function checkCallbackConstantly() { 


    __doPostBack('<%=updateCallbacks.ClientID %>', ''); 

    setTimeout('checkCallbackConstantly()', 1000); 
} 

setTimeout('checkCallbackConstantly()', 10000); 

和:

<asp:UpdatePanel runat="server" id="updateCallbacks"> 
     <ContentTemplate> 

      <t1:topNav ID="topNav1" runat="server" /> 

     </ContentTemplate> 
    </asp:UpdatePanel> 

该控制页面上,我与会话中播放,所以请让我知道。

谢谢

+0

我想这可能会帮助你 http://stackoverflow.com/questions/770594/how-do-i-prevent-resetting-session-timeout-when -updatepanels-content-is-refresh – GANI 2012-03-14 20:54:24

+0

@ user1016740谢谢你的信息是有帮助的 – confusedMind 2012-03-14 21:03:04

+0

谢谢大家的回答,但我标记的是为我提供了答案和一些与我的方法有关的事实。 再次感谢大家。 – confusedMind 2012-03-14 21:06:15

回答

1

你实现的会使会话“无止境”,但要注意IIS recycles the app pool规则(有时也意外)......如果你的会话没有持续,这将会立即“终止”所有当前活动会话,因为所有会话相关存储在内存中的信息将会在这样的回收过程中丢失!

+0

哦,这是不好的......但有没有其他方式?我目前正在从数据库获取一些信息并存储在会话中,然后不断检查它(信息基本上是约会日期)。所以我一直在检查它们是否与当前日期匹配,弹出窗口出现,请让我知道是否还有其他更好的方法可以做到这一点 – confusedMind 2012-03-14 20:56:15

+0

@confusedMind有几个选项...基本上使您的会话管理persitent和/或使用Windows服务作为会话提供者和/或存储您的会话信息数据库等 – Yahia 2012-03-14 20:57:59

+0

标记为答案,因为它不仅提供了答案,但也让我知道我可能面临的其他事情。 谢谢大家 – confusedMind 2012-03-14 21:05:13

1

每个请求都会延长执行请求的用户的会话时间。

0

ASP.Net使用滑动会话过期自上次请求到服务器在给定的会话ID。

因此,在您的情况下,会话状态不会过期(使用默认设置),因为您在会话有机会到期之前向服务器发出请求。

+0

谢谢,请让我知道这将适用于所有会话变量,或只是我正在使用的一个。:) – confusedMind 2012-03-14 20:51:02

+0

所有会话变量(整个会话对象)。没有跟踪您通过ASP.Net存储在Session中的属性,只是您有需要Session的请求。 – 2012-03-14 20:54:53

相关问题