c# - 对 System.Web.HttpContext.Current 的混淆

标签 c# asp.net static

因此,在 silverlight 应用程序的服务器代码中,我看到了对 System.Web.HttpContext.Current.User.Identity.Name 的多个引用。问题是:如果 System.Web.HttpContext.Current 是静态属性,那么如何使用不同的 System.Web.HttpContext.Current 对象处理不同的同时请求?

我想我在这里遗漏了一些简单的东西。

最佳答案

每个请求都由一个线程提供服务。换句话说,一个线程一次只能处理一个请求。

现在 HttpContext.CurrentCallContext.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/

相关文章:

asp.net - 我似乎无法获得 css 或以编程方式更改 imagebuttons 图像

c++ - 使用许多静态成员有问题吗?

c# - 将 SOAP header 添加到请求

c# - 如何从 CefSharp 3 在 native 浏览器中打开链接

c# - MVVM:代码隐藏是邪恶的还是实用主义的?

c++ - 使用静态 const 成员构建类层次结构

c++ - 非静态常量数据成员有什么意义?

c# - 只读和只写接口(interface)中的自动属性

javascript - 用于从另一个 .aspx 加载 map 的 Jquery 解决方案?

c# - 从字符串公式映射变量