加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何使用ajax请求重置ASP.Net会话状态超时

发布时间:2020-12-16 02:48:21 所属栏目:百科 来源:网络整理
导读:我正在开发一个ASP.Net Full-Ajax站点.因为所有操作都通过Ajax请求进行,所以任何回发请求都不会发送到服务器.另一方面,我有一个 javascript计时器,它发送一个ajax请求来检查会话,如果它过期,则将用户重定向到登录页面. 问题出在这里:当用户在页面上工作20分
我正在开发一个ASP.Net Full-Ajax站点.因为所有操作都通过Ajax请求进行,所以任何回发请求都不会发送到服务器.另一方面,我有一个 javascript计时器,它发送一个ajax请求来检查会话,如果它过期,则将用户重定向到登录页面.

问题出在这里:当用户在页面上工作20分钟并且所有操作都将在20分钟后对其进行ajax请求,并且用户将在使用页面时完全重定向到登录页面(通过该javascript计时器).所以我需要用ajax请求刷新其会话状态.但是如何?我怎么能通过ajax请求来重置会话状态超时!?!!

取决于我的谷歌搜索结果,我不能通过ajax请求预先形成,因为SessionId作为cookie存储在客户端并更新它需要预先形成回发请求:(

注意:会话状态在InProc模式下设置,超时= 20

抱歉我的英语语法不好,我是英语新手

此致,Foroughi

更新:ajax请求更新会话状态超时吗?!!

更新:当我的用户登录到网站时,我设置了这样的会话:

Session["UserId"] = UserObject.Id;

在我的所有页面中,我使用一些Web方法来执行这样的操作:

[WebMethod]
public static Opr1 (Paramethers...)
{

   //Question is here,how can i update UserId  session to prevent to expire,how can i update it

   //execute my codes to preform Opr1

}

解决方法

如果你使用WebMethods,你应该装饰你的方法

[WebMethod(EnableSession = true)]

此外,如果您需要保持会话处于活动状态,则应尝试创建实现IRequireSessionState的HTTPHandler,此接口允许获取/设置(反序列化/序列化)会最终滑动会话超时的会话变量.

这是一篇关于session和ajax调用的好文章.

http://seejoelprogram.wordpress.com/2008/11/10/maintaining-aspnet-session-state-in-an-ajax-application/

希望这会有所帮助

问候.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读