从这一节开始我们就开始接触一般处理程序了,一般处理程序是最高效的,执行过程是最简单的,但是其原理非常重要,一旦我们把一般处理程序学好了,再学WebForm就相当相当容易了,几乎可以速成。
我们在Visual Studio 2010中添加一个一般处理程序时都会生成一个以ashx为扩展名的文件,文件中的代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<%@ WebHandler Language="C#" Class="First" %>
using System; using System.Web;
public class First : IHttpHandler {
public void ProcessRequest (HttpContext context) { context.Response.ContentType = "text/plain"; context.Response.Write("Hello World"); }
public bool IsReusable { get { return false; } }
} |
从以上代码我们可以发现,一般处理程序是一个实现了IHttpHandler接口的类,可以在服务器端执行,必然也可以从浏览器获得数据,也可以发给浏览器数据,那么上面的代码各自都代表什么呢?
ProcessRequest (HttpContext context)方法在程序被访问时调用,参数是请求上下文的对象,通过对象可以处理信息,context.Response.Write("Hello World")是向浏览器输出方法,把数据从服务器发送到浏览器。
那么,一般处理程序的运行都发生了些什么事情呢?他是怎么把数据通过服务器发送给浏览器的呢?请看下图:
上图只是一个简单的模拟用户通过一般处理程序上网的过程,也许你可以似乎明白了,原来上网也是打开一个电脑里的东西,只是这个电脑你我们的普通家庭电脑装备厉害一点而已,上图已经有了上网的大致过程,此图要熟练的理解,只有这样再以后开发的过程中才知道哪里出了毛病将导致什么问题,也能让用户更好的享受网上冲浪的乐趣,一定要做到,只要用户第一次来你的网站,就让他在你的网站入驻。
其实,ASPX和MVC的处理过程也复杂不到哪去,只是在服务器端做了更多更复杂一点的东东,但是ASHX是他们的基础,也是重中之重,假如ASHX学好了,ASPX可以无师自通,自己随便那一本书看就可以了,理解MVC也很容易了,所以,ASHX是一定要学好的,废话不说了,以后将以大量篇幅介绍ASHX,敬请期待。谢谢!