3

是否有人对大型 ajaxy 应用程序中的错误和会话过期的整体处理有任何策略或想法?在传统的 Web 应用程序中,当一切都是 post 或 get 时,很容易处理错误和会话到期并向用户呈现友好的消息。与现代 ajaxy Web 应用程序无关。我的 Web 应用程序使用 ASP.Net Ajax 更新面板和来自各个页面的 WCF 调用。这些 ajax 调用中的任何一个都可能返回错误,或者用户的会话可能已过期。我正在寻找的是单个客户端组件或可以识别何时出现错误并向用户显示友好消息或识别会话超时并将用户引导到登录页面的东西。人们为解决此类问题做了什么?

4

1 回答 1

0

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

  1. AJAX 不是那么快的技术,因此根据 Microsoft 的建议,关闭会话可以提高服务器端渲染时间
  2. 处理同时打开的 2 个页面的会话会在它们两个上破解 ajax。

您已经提到了服务器端故障,会话否定列表可以继续。

相反,查看您的代码,真正需要存储在会话中的内容。我很确定您可以将任何数据分离到 2 个(幻数)存储中:

  1. 在客户端和服务器之间永久遍历的数据(例如会话密钥的模拟)。让您拥有密钥并保存在隐藏字段或 cookie 中。ViewState 也很好,但为了优化使用,我更喜欢控制确切保存的内容。
  2. 在多个页面之间收集的数据,很好的例子是向导。从数据库中的用户或用户的个人资料中累积数据(保留在数据库中)。对于我的项目,我们开发了特殊的 TempStorage 表,其中用户保存了向导数据,如果由于某种原因用户在 3 天内没有完成所有步骤,则表会被作业清理。
于 2009-10-27T14:06:34.370 回答