HttpContext 类:封装有关个别 HTTP 请求的所有 HTTP 特定的信息.也有人叫上下文信息.
1.生存周期:从客户端用户点击并产生了一个向服务器发送请求开始---服务器处理完请求并生成返回到客户端为止.
注:针对每个不同用户的请求,服务器都会创建一个新的HttpContext实例直到请求结束,服务器销毁这个实例.
2.为什么会有HttpContext类呢:在ASP年代,大家都是通过在.asp页面的代码中使用Request,Respose,Server等等这些Http特定信息的.但在ASP.NET时代,这中方式已经无法满足应用,(比如我们要在IHttpModule中处理Request时,我们使用什么方法来获取呢?于是就产生了HttpContext类,它对Request,Respose,Server等等都进行了封装,并保证在整个请求周期内都可以随时随地的调用.)
3.特殊性:当然HttpContext不仅仅只有这点功能.ASP.NET中它还提供了很多特殊的功能.例如Cache.还有HttpContext.Item,通过它你可以在HttpContext的生存周期内提前存储一些临时的数据,方便随时使用.具体的大家还是参考上面的MSDN提供内容.
打个不是很适当的比方:
参加奥运会比赛的运动员一般都会有礼仪小姐来领路, 就拿体操全能比赛来说吧, 从进赛场的那一该起, 礼仪小组就带领运动员到不同的项目地点参加比赛(如先比双扛, 再比跳马, 然后比自由操...), 在整个过程中, 礼仪小姐一直在你身边, 尽管她不参加比较, 在比赛的过程中你有什么问题或困难可以与她交流(比方说:要求她给你提供饮用水, 要求好给你保管衣物, 问她比赛的一些问题等等), 当所有的比较项目结束的时候, 礼仪小姐又会把你带出赛场, 这时候, 她的任务就完成了.
这里,礼仪小姐就好比是当前请求的HttpContext, 它保存了请求过程中的一些信息(如Response, Request), 你可能通过HttpContext来访问相关的信息. 从CLR接收到请求的那一刻开始, HttpContext就创建了, 它将贯穿请求的整个过程. 在CLR处理ASP.NET请求的过程中, 你可以通过HttpContext访问相关的信息(如:Request, Response)等, 也可以在请求的各个阶段创建相关的信息保存在HttpContext中.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
2008-11-12 ASP.NET中调用SQL存储过程
2008-11-12 SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY的区别比较