在我的 Web 应用程序中,用户可以运行具有大量数据的报告,因此执行需要很长时间。
在我的运行报告页面中,我已将会话状态设置为 true,并且在报告生成期间我正在写入会话变量,因此同时如果用户想要导航到其他页面,他必须等待导航,因为运行保持锁定报告页面。因此,当运行报告页面完全执行时,只有用户才能获得导航页面。
这意味着如果会话被任何页面锁定(写入会话),则存在请求排队。
我无法将会话状态更改为只读。
任何人提出的任何解决此问题的建议。
代码片段
在 page1.aspx
Session["Test"] ="testing...";
// Some long running code
for(int i=0;i<10000000000000;i++)
{
}
现在用户想在长时间运行的代码中转到 page2.aspx 然后在 page2.aspx 我得到
Response.Write(Session["Test"]);
to null
提前致谢