【问题标题】:access session value during concurrent requests在并发请求期间访问会话值
【发布时间】:2010-03-09 19:18:52
【问题描述】:

我有以下问题。

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

我在 ASP.NET 2.0 中使用 C#

更新

我的页面代码如下所示。

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

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

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

【问题讨论】:

标签: c# .net asp.net session


【解决方案1】:

由于应用程序开发方式的性质,您确实不应该使用 ASP.net 运行并发调用。这听起来像是一个正常的锁定机制,你唯一能做的就是迎合一个锁,让线程等待,直到另一个线程完成。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 2016-10-05
    • 1970-01-01
    • 2012-01-26
    • 2012-09-15
    相关资源
    最近更新 更多