HttpContext如何在.NET中运行

Bar*_*ğlu 4 .net asp.net httprequest httpcontext

我试图了解httpcontext如何在.NET中工作的细节?

我无法理解的是HttpContext类有一个静态HttpContext对象的字段.那么对于来自客户端的每个请求是否创建了httpcontext的实例?为什么定义为静态?这是否意味着一个应用程序只能有一个httpcontext?

我很困惑所以问问题的方式可能有点复杂.我希望这是可以理解的.

提前致谢,

Mar*_*ell 7

当您访问静态成员时,它会解析相对于该线程当前请求.

不,这并不意味着只有一个,就像Thread.Current并不意味着只有一个线程一样.每个请求都有不同的HttpContext.

作为做类似事情的一种微不足道的方式(我不知道它是否以这种方式实现);

[ThreadStatic]
public static string TryMeFromDifferentThreads;
Run Code Online (Sandbox Code Playgroud)