2010-03-09 19 views
1

我有以下问题。并发请求期间访问会话值

在一个请求中我正在更新会话变量。 在另一个请求中,我试图访问该会话值,但它被阻止,直到第一个请求完成。

我使用C#与ASP.NET 2.0

UPDATE

我的页面代码如下所示。

while(int progress = DoWork() && progress <= 100){ 
    Session["Progress"] = progress; 
} 

和我的处理程序只是返回会话值。

context.Response.Write(Session["progress"].toString()); 
context.Response.End(); 
+0

这听起来像我问这个问题的同样的问题: http://stackoverflow.com/questions/5749532 – 2011-04-27 15:13:09

回答

0

由于开发应用程序的本质,您确实不应该与ASP.net一起运行并发调用。这听起来像一个正常的锁定机制,你唯一能做的就是迎合一个锁,并且保持线程在等待另一个线程完成。

如果可能的话发布一些关于你在同一时间运行多个线程的代码,可能有更好的方法来做到这一点。

+0

@stalkerh我已经更新了问题 – developer 2010-03-09 10:53:23