在ASP.Net AJAX应用程序中强制会话超时

时间:2009-02-24 06:56:56

标签: asp.net ajax asmx

我有一个很大的1页ASP.Net应用程序。这个应用程序的大部分已经完全使用.Net 3.5从之前使用.Net 2.0的版本重写。因此,此版本的设计者决定将整个页面放在更新面板(叹息)中。似乎这个更新面板唯一的好处是它允许在会话超时(约30分钟)时对超时页面进行重定向。

我的团队已在此页面上实现了一个新部分,该选项卡使用ASP.Net AJAX访问asmx Web服务(这将很快转移到WCF ScriptService)。这里的所有调用都是使用调用ASP.Net AJAX JavaScript代理的自定义JavaScript完成的。​​

我的问题是,如果发生部分回发,页面的其余部分超时后,仍会进行这些Web服务调用。

我正在寻找的是我的新功能在某种程度上与应用程序的其余部分同时超时。

1 个答案:

答案 0 :(得分:1)

如果Web应用程序应该控制会话,则必须提供查询它的方法。这可以通过IsTheSessionStillUp之类的ping机制之一来实现,它将响应是或否。一个简单的aspx页面可以做到这一点。然后,所有外部服务都需要查询状态,并且万一主Web应用程序会话超时,也会强制服务超时。这可以在服务代理中作为ping调用在服务调用之前实现。