System.Web.HttpContext.Current上的混淆

时间:2012-02-27 12:26:15

标签: c# asp.net static

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

我想我在这里错过了一些简单的东西。

2 个答案:

答案 0 :(得分:4)

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

现在HttpContext.CurrentCallContext.HostContext支持,有效一个线程静态属性(属性getter / setter在per 线程上工作基础)。

  

获取或设置与当前线程关联的主机上下文。

这就是HttpContext.Current设法总是为每个请求返回正确的上下文的方式,即使多个请求并行处理 - 当前线程与HttpContext相关联,而HttpContext又与特定请求相关联

答案 1 :(得分:0)

它是静态的但是在当前的请求上。

“获取或设置当前HTTP请求的HttpContext对象。”

请参阅:msdn- HttpContext.Current Property