我正在尝试在 document.ready 上一次对我的 .NET 页面方法进行 6 次异步 jQuery ajax 调用,以从数据库中请求不同的数据集,并以图表形式返回给用户。
问题是当一个图表需要很长时间生成时,它会锁定接下来 5 个图表的生成,例如,当每个图表需要 1 分钟生成时,用户将等待大约 6 分钟,而不是 1 - 2我认为在使用异步 ajax 调用和页面方法时会并行处理的分钟。
在阅读了这个论坛的很多有用的帖子后,我发现这是因为我必须在页面方法中读取和写入会话对象,而 asp.net 会锁定整个请求,从而使它们按顺序运行。
我看到有人建议在@Page 标签中将会话状态设置为只读,但这不会解决我的问题,因为我也需要写入会话。我考虑过从 inProc 会话转移到 sql 数据库会话,但是我的会话对象不可序列化并且在整个项目中使用。我也不能改为使用缓存,因为会话包含用户特定的详细信息。
任何人都可以帮助并指出正确的方向吗?我花了几天的时间来调查这个页面效率低下,但还没有找到一个好的方法。
提前致谢