我单击访问数据库查询的按钮。当搜索的数据量很大时,需要更长的时间。我使用的数据库层是 LINQ。问题是在该过程之间我想从站点注销但注销过程仍在排队,请给我建议。
问问题
379 次
1 回答
0
您的问题没有具体说明,但我假设注销过程仍在队列中是指 HTTP 请求。
如果您使用的是 ASP .NET 会话状态,您的请求可能会串行执行而不是同时执行。在这种情况下,注销请求将被阻止,直到您的数据库查询请求完成。
此页面包含更多信息以及 Web 表单的解决方案。
为了防止两个页面同时修改进程中的 Session 变量,ASP.NET 运行时使用了锁。当对读取和写入 Session 变量的页面的请求到达时,运行时会获取写入器锁。写入器锁将阻止同一会话中可能写入相同会话变量的其他页面。
...
如果此行为导致问题...告诉运行时页面打算如何使用 Session 变量
这里讨论了 MVC 的等效解决方案。
于 2013-09-07T06:26:05.543 回答