|
|
1
11
Here is a link talking about session state and locking. 它确实执行和独占锁定。 解决这个问题的最简单方法是使长时间运行的任务异步进行。您可以使长时间运行的任务在单独的线程上运行,或者使用和 asynchronous delegate 并立即返回对浏览器的响应。客户端页面可以向服务器发送请求,以检查是否完成(最有可能是通过Ajax),当服务器通知客户端完成后,通知用户。这样一来,尽管服务器必须一次处理一个服务器请求,但对用户来说并不是这样。 这确实有它自己的一组问题,您必须确保关闭HTTP上下文的帐户,因为它将在ASP.NET会话中释放某些功能。您可能需要考虑的一个例子是,如果会话确实发生了锁的释放,那么就可能发生这种情况。 这并不奇怪,因为这可能是一个限制。每个浏览器都有自己的会话,在Ajax出现之前,回发请求是同步的。使同一个会话句柄并发可能会变得非常难看,而且我可以看到,这对于IIS和ASP.NET团队来说是多么的不重要。 |
|
|
2
9
由于Kevin所描述的原因,用户无法访问可能同时写入会话状态的两个页面——框架本身无法对会话存储的锁定实施细粒度控制,因此必须对整个请求进行锁定。 为了解决这个问题,只有 阅读 会话数据可以声明它们是这样做的。ASP.NET无法获取会话状态写锁定:
|
|
|
Andrus · 如何在Linux中阅读期刊 1 年前 |
|
|
Miranda · 读取xml文件时路径错误中有非法字符 1 年前 |
|
|
Primdonm · 如何将自定义列表中的字符串值格式化为货币格式? 1 年前 |
|
|
Kiryl · Sitecore中自己的控制器 1 年前 |
|
|
Farid · 如何从数据库中填充Resource.resx文件值? 2 年前 |