2012-02-27 4 views
3

Так что в серверном коде приложения silverlight я вижу несколько ссылок на System.Web.HttpContext.Current.User.Identity.Name. Возникает вопрос: если System.Web.HttpContext.Current является статическим свойством, то как же обрабатываются разные одновременные запросы с использованием разных объектов System.Web.HttpContext.Current?путаница по System.Web.HttpContext.Current

Наверное, я пропустил что-то простое здесь.

ответ

4

Каждый запрос обслуживается волоске. Другими словами, поток может обслуживать только один запрос за раз.

HttpContext.Current Теперь поддерживаются CallContext.HostContext, что эффективно нити статического свойства (свойство геттер/сеттер работает на ослабленный нить основе).

Получает или задает контекст хоста, связанный с текущим потоком.

И вот как HttpContext.Current удается всегда возвращать правильный контекст для каждого запроса, даже если несколько запросов обслуживаются параллельно - текущий поток связан с HttpContext, который, в свою очередь, связан с конкретным запросом.

0

Это статический, но текущий запрос.

«Получает или задает объект HttpContext для текущего HTTP-запроса».

см: msdn- HttpContext.Current Property

Смежные вопросы