C#-对System.Web.HttpContext.Current的困惑
收藏

提问

因此,在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又与特定请求关联.

    公众号
    关注公众号订阅更多技术干货!