【发布时间】:2012-06-29 12:22:01
【问题描述】:
我正在尝试在 document.ready 上一次对我的 .NET 页面方法进行 6 次异步 jQuery ajax 调用,以从数据库中请求不同的数据集,然后以图表的形式呈现给用户。
问题是当一个图表需要很长时间生成时,它会锁定接下来5个图表的生成,例如,当每个图表需要1分钟生成时,用户将等待大约6分钟,而不是1 - 2 分钟,我认为在使用异步 ajax 调用和页面方法时会并行处理。
在这个论坛看了很多有用的帖子后,我发现这是因为我必须在页面方法中读取和写入会话对象,而asp.net会锁定整个请求,从而使它们运行顺序。
我看到有人建议在@Page 标记中将会话状态设置为只读,但这不会解决我的问题,因为我还需要写入会话。我考虑过从 inProc 会话转移到 sql 数据库会话,但是我的会话对象不可序列化并且在整个项目中使用。我也不能改为使用缓存,因为会话包含用户特定的详细信息。
谁能帮我指出正确的方向?我花了几天的时间来调查这个页面效率低下,但仍然没有找到一个好的方法。
提前致谢
【问题讨论】:
-
另一件事是,这是我第一次在这个论坛上发帖,所以希望我的问题是有意义的 :) 最良好的祝愿,再次感谢
-
恕我直言,对 Session 的高度依赖表明 Web 应用程序设计不佳。或许你可以解释一下为什么 Session 会参与图表的生成?
标签: asp.net session jquery pagemethods