并发请求期间访问会话值

时间:2010-03-09 10:38:43

标签: c# .net asp.net session

我有以下问题。

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

我在ASP.NET 2.0中使用C#

更新

我的网页代码如下所示。

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

我的处理程序只返回Session值。

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

1 个答案:

答案 0 :(得分:1)

由于应用程序的开发方式,您确实不应该使用ASP.net运行并发调用。这听起来像一个普通的锁定机制,你唯一能做的就是满足一个锁,只需保持线程等待直到另一个线程完成。

如果可能发布一些代码同时运行多个线程,可能有更好的方法。