-2

我单击访问数据库查询的按钮。当搜索的数据量很大时,需要更长的时间。我使用的数据库层是 LINQ。问题是在该过程之间我想从站点注销但注销过程仍在排队,请给我建议。

4

1 回答 1

0

您的问题没有具体说明,但我假设注销过程仍在队列中是指 HTTP 请求。

如果您使用的是 ASP .NET 会话状态,您的请求可能会串行执行而不是同时执行。在这种情况下,注销请求将被阻止,直到您的数据库查询请求完成。

此页面包含更多信息以及 Web 表单的解决方案。

为了防止两个页面同时修改进程中的 Session 变量,ASP.NET 运行时使用了锁。当对读取和写入 Session 变量的页面的请求到达时,运行时会获取写入器锁。写入器锁将阻止同一会话中可能写入相同会话变量的其他页面。

...

如果此行为导致问题...告诉运行时页面打算如何使用 Session 变量

这里讨论了 MVC 的等效解决方案。

于 2013-09-07T06:26:05.543 回答