Как HttpContext работает в .NET - PullRequest
4 голосов
/ 13 ноября 2011

Я пытаюсь понять, как работает httpcontext в .NET?

Что я не мог понять, так это то, что класс HttpContext имеет поле статического объекта HttpContext. Так для каждого запроса от клиента создается экземпляр httpcontext или нет? Почему он определен как статический? Означает ли это, что одно приложение может иметь только один httpcontext?

Я запутался, поэтому вопрос о том, как задать вопрос, может быть немного сложным. Надеюсь, это понятно.

Заранее спасибо,

1 Ответ

7 голосов
/ 13 ноября 2011

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

Нет, это не означает, что есть только один, точно так же, как Thread.Current не означает, что существует только один поток. Каждый запрос имеет свой HttpContext.

Как тривиальный способ сделать что-то подобное (хотя я не знаю, реализовано ли это таким образом);

[ThreadStatic]
public static string TryMeFromDifferentThreads;
...