因此,在 silverlight 应用程序的服务器代码中,我看到了对 System.Web.HttpContext.Current.User.Identity.Name
的多个引用。问题是:如果 System.Web.HttpContext.Current
是静态属性,那么如何使用不同的 System.Web.HttpContext.Current
对象处理不同的同时请求?
我想我在这里遗漏了一些简单的东西。
最佳答案
每个请求都由一个线程提供服务。换句话说,一个线程一次只能处理一个请求。
现在 HttpContext.Current
由 CallContext.HostContext
支持,这是一个有效线程静态属性(属性 getter/setter 在每个线程 基础上工作)。
Gets or sets the host context associated with the current thread.
这就是 HttpContext.Current
如何始终为每个请求返回正确的上下文,即使并行处理多个请求时也是如此 - 当前线程与 HttpContext 相关联,而 HttpContext 又是与特定请求相关联。
关于c# - 对 System.Web.HttpContext.Current 的混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9465003/