c# - 在并发请求期间访问 session 值

标签 c# .net asp.net session

我有以下问题。

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

我正在使用 C# 和 ASP.NET 2.0

更新:

我的页面代码如下所示。

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

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

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

最佳答案

由于应用程序的开发方式的性质,您真的不应该使用 ASP.net 运行并发调用。这听起来像是一个普通的锁定机制,您真正能做的唯一一件事就是满足锁定要求,让线程等待另一个线程完成。

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

关于c# - 在并发请求期间访问 session 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2408339/

相关文章:

c# - 使用 LINQ 按多个属性分组并求和

asp.net - 什么是 "Could not locate the assembly"错误?

javascript - 用于级联下拉列表的通用 jquery 函数 (asp.net mvc)

c# - XPath 在使用 DataContractSerializer 创建的 xml 中不起作用

c# - 何时需要在客户端计算机上安装 .NET 框架?

c# - 使用 SynchronizationContext 时异步/等待死锁

.net - Azure 网站中的缓存策略

c# - UWP 应用中的 LoopbackExempt

c# - 用于 MP3 编辑的音频库

html - ASP.Net 在主页上隐藏左侧菜单