错误处理,ajax asp.net app中的Session expire策略

时间:2009-10-27 13:51:09

标签: asp.net-ajax error-handling session-timeout

在大型应用程序中,是否有人对错误和会话过期的整体处理有任何策略或想法?在传统的Web应用程序中,当所有内容都是帖子或获取时,可以轻松处理错误和会话过期并向用户显示友好消息。与现代的ajaxy web应用程序不同。我的Web应用程序使用ASP.Net Ajax更新面板和来自各个页面的WCF调用。这些ajax调用中的任何一个都可能返回错误,或者用户的会话可能已过期。我正在寻找的是单个客户端组件或能够在出现错误时识别并向用户显示友好消息或识别会话超时并将用户引导至登录页面的内容。人们做了什么来处理这类问题?

1 个答案:

答案 0 :(得分:0)

完全切换会话!该建议有两个方面。

  1. AJAX不是那么快的技术,所以每次微软推荐切换会话都会改善服务器端的渲染时间
  2. 处理同时打开的2个页面的会话破解了两个页面上的ajax。
  3. 您已经提到了服务器端故障,并且可以继续会话否定列表。

    而是检查您的代码,真正需要存储在会话中的内容。 我很确定你可以将任何数据分成2(幻数)存储:

    1. 在客户端和服务器之间永久遍历的数据(例如会话密钥的模拟)。让你自己的密钥并保存在隐藏的字段或cookie中。 ViewState也很好,但是对于优化用法,我更喜欢控制确切保存的内容。
    2. 多个页面之间收集的数据,很好的例子是向导。在DB或用户的配置文件中累积来自用户的数据(保留在DB中)。对于我的项目,我们开发了特殊的TempStorage表,其中用户已保存向导数据,如果由于某种原因用户尚未完成所有步骤超过3天,则表将按作业清除。