对System.Web.HttpContext.Current的混淆
本文关键字:Current HttpContext System Web | 更新日期: 2023-09-27 18:26:05
所以在 silverlight 应用程序的服务器代码中,我看到多个对System.Web.HttpContext.Current.User.Identity.Name
的引用。问题是:如果System.Web.HttpContext.Current
是一个静态属性,那么如何使用不同的System.Web.HttpContext.Current
对象处理不同的同时请求?
我想我在这里错过了一些简单的东西。
每个请求都由一个线程提供服务。换句话说,一个线程一次只能为一个请求提供服务。
现在HttpContext.Current
由 CallContext.HostContext
支持,它实际上是一个线程静态属性(属性 getter/setter 基于每个线程工作(。
获取或设置与当前线程关联的主机上下文。
这就是HttpContext.Current
设法始终为每个请求返回正确上下文的方式,即使并行处理多个请求 - 当前线程与 HttpContext 相关联,而 HttpContext 又与特定请求相关联。
它是静态的,但在当前请求上。
"获取或设置当前 HTTP 请求的 HttpContext 对象。
请参阅: msdn- HttpContext.Current Property