HttpContext 讲解

HttpContext类:封装有关个别HTTP请求的所有HTTP特定的信息,又叫上下文。
看到这个解释,我觉得有些抽象,Http特定信息具体又是什么?看了下备注:
为继承 IHttpModule 和 IHttpHandler 接口的类提供了对当前 HTTP 请求的 HttpContext 对象的引用。该对象提供对请求的内部 Request、Response 和 Server 属性的访问。

这样一来,一下子又冒出来2个新东西: IHttpModule 和 IHttpHandler。真叫人抓狂啊。

先看HttpContext:
    1.声明周期:从用户发送请求开始到服务器处理完请求并生成内容返回到客户端为止。原来就是从点击一个链接开始,到看到这个链接里的全部内容为止,这个理解了。
    备注:针对每个不同用户的请求,服务器都会创建一个新的HttpContext实例直到请求结束,服务器销毁这个实例.
    2.HttpContext的作用:处理请求的属性如:request,response,server等。其实我们在开发asp.net页面的时候,可以直接使用request...这些类啊,为什么要通过HttpContext类来访问呢?原来,request等这些类可以在asp或aspx页面的代码中直接使用,但是在IHttpModule或IHttpHandler中就不能直接使用了。这是因为要在特殊场合访问request等。因为HttpContext类对Request,Respose,Server等等都进行了封装,并保证在整个请求周期内都可以随时随地的调用.)OK,这个也理解了。
    3.HttpContext其它功能:HttpContext还可以处理CacHe,HttpContext.Item等,在其生命周期内可以存储一些临时数据,方便随时使用。
    
    再度理解HttpContext:
    当用户发送某个Http请求,我们可以通过HttpContext进行截获,查看里面包含了哪些请求的信息,然后可以进行一系列的操作,比如说切换到其他的页面,这个时候,可以重组请求的数据满足新页面的要求。即:即使不在page页面中,也可以通过HttpContext的Current属性来获取当前的web状态。
    
    正是由于此,我们可能在程序中滥用HttpContext,这里有一篇文章可以帮助大家理解为什么不能滥用HttpContext:
    http://odetocode.com/articles/112.aspx
    是英文的,我的翻译水平有限,但能看懂个大概。虽然是04年的文章,但是,加入你没有看过或理解HttpContext,它对于我们来说都是新的。
    
    当然了,要想完全理解HttpContext,我们还需要了解很多知识:比如:Cache,Profile,IHttpHandler,IHttpModule。这些知识一定要在实践中才能理解的更加深入。

(转自网络)

时间: 2024-08-26 12:06:19

HttpContext 讲解的相关文章

HttpContext讲解

http://www.cnblogs.com/scy251147/p/3549503.html http://www.360doc.com/content/14/0526/10/17655805_381044549.shtml http://www.cnblogs.com/qiufuwu618/archive/2012/11/05/2755411.html http://blog.csdn.net/jingmeifeng/article/details/7787949

ASP.NET MVC的流程讲解

开始想这个标题的时候,很是忧郁到底叫什么标题会比较好哪,最后还是确定为讲解,虽然略显初级,但是很多概念,想通了还是比较有价值的.废话略过,开始! 1.MVC的基本开发流程   2.webform和MVC的选择   3.MVC的内部过程 1.MVC的开发流程 MVC的出现时微软在2009年左右开始提出的网站开发的新的发展方向,这个方面的开发官方解释是可以比较好的实现三层分离,而且分离之后,可以实现复用等相关好处,通常人们列举的例子是ui方面可以同时支持HTML网络或者WAP网络.但是其实个人的理解

拓扑排序讲解

在这里我们要说的拓扑排序是有前提的 我们在这里说的拓扑排序是基于有向无环图的!!!. (⊙o⊙)…我所说的有向无环图都知道是什么东西吧.. 如果不知道,我们下面先来来说说什么是有向无环图. 所谓有向无环图,顾名思义是不存在环的有向图(至于有向图是什么不知道的在前面我们有一个图论讲解上都有). 点的入度:以这个点为结束点的边数. 点的出度:以这个点为出发点的边的条数. 拓扑序就是对于一个节点的一个排列,使得(u,v)属于E,那么u一定出现在v的前面.然而拓扑排序就是一个用来求拓扑序的东西. 对于左

形象易懂讲解算法I——小波变换

https://zhuanlan.zhihu.com/p/22450818?refer=dong5 最早发于回答:能不能通俗的讲解下傅立叶分析和小波分析之间的关系? - 咚懂咚懂咚的回答现收入专栏. 从傅里叶变换到小波变换,并不是一个完全抽象的东西,可以讲得很形象.小波变换有着明确的物理意义,如果我们从它的提出时所面对的问题看起,可以整理出非常清晰的思路. 下面我就按照傅里叶-->短时傅里叶变换-->小波变换的顺序,讲一下为什么会出现小波这个东西.小波究竟是怎样的思路.(反正题主要求的是通俗形

vim编辑器讲解

--vim编辑器讲解(vim(vi的升级版),推荐vim) 打开文件(如果该文件不存在,则创建之后,保存,从内存写到硬盘上,不保存,则删除掉该文件) vim filename vim编辑器有3中模式:命令模式,插入模式,尾行模式. 命令模式:刚进入文件的时候开始的状态.u为撤销键 命令模式进入插入模式:可以通过快捷键 i(当前光标位置插入) I(本行的开头) a(当前光标位置之后) A(当前光标所在最后) o O 插入模式返回命令模式:ESC 插入模式:主要用来编辑文本的. 尾行模式:主要用来,

Smarty 函数讲解

这里给大家总结了几种Smarty 函数并分别详细讲解了.如果你正在学习Smarty  ,希望这篇文章对你有用. html_checkboxes 自定义函数 html_checkboxes 根据给定的数据创建复选按钮组. 该函数可以指定哪些元素被选定. 要么必须指定 values 和 ouput 属性,要么指定 options 替代. 所有的输出与 XHTML 兼容 html_checkbox用来用给定的数据创建checkbox.name表示checkbox的名称,values表示checkbox

ThinkPHP讲解(一)框架基础

ThinkPHP框架知识点过于杂乱,接下来将以问题的形势讲解tp(ThinkPHP的简写) 1.tp框架是什么,为什么使用是它? 一堆代码的集合,里边有变量.函数.类.常量,里边也有许多设计模式MVC.AR数据库.单例等等.框架可以节省我们50-60%的工作量,我们全部精力都集中在业务层次. 为什么使用框架 框架可以帮组我们快速.稳定.高效搭建程序系统 该系统由于框架的使用使得本身的维护性.灵活性.适应客户需求方面得到最大化的增强. 使用框架的过程中可以使得我们的注意力全部集中业务层面,而无需关

nfs 深度讲解及inotify

目  录 第1章共享目录的挂载及参数mount1 1.1挂载nfs下共享的data目录... 1 1.2 查看挂载的目录... 2 1.3 mount 挂载的参数... 2 1.3.1 mount –o 参数对用的选项... 3 1.3.2 man mount后的-o参数中英文翻译对比... 3 1.4 Mount挂载性能优化参数选项... 4 第2章 NFS深度讲解... 5 2.1 NFS内核优化建议... 5 2.2 服务端nfs内核优化... 5 2.3 企业生产场景NFS共享存储优化小

React Native控件之PullToRefreshViewAndroid下拉刷新组件讲解

转载请标明出处: http://blog.csdn.net/developer_jiangqq/article/details/50664323 本文出自:[江清清的博客] (一)前言 今天我们一起来看一下PullToRefreshViewAndroid下拉刷新组件讲解以及使用实例 刚创建的React Native技术交流群(282693535),欢迎各位大牛,React Native技术爱好者加入交流!同时博客左侧欢迎微信扫描关注订阅号,移动技术干货,精彩文章技术推送! 该PullToRefr