虽然通过标准的方式可以创建处理程序,但是实现的步骤比较复杂,为了方便网站开发中对于处理程序的应用,从ASP.NET2.0开始,ASP.NET提供了称为一般处理程序的处理程序,允许我们使用比较简单的方式定义扩展名为ashx的专用处理程序。
通过VS2010中新创建的一般处理程序将会生成两个文件Handler1.ashx和Handler1.ashx.cs,其中Handler1.ashx文件中的内容如下所示:
<%@ WebHandler Language="C#" Class="Handler" %>
对应的代码文件呢Handler.ashx文件中的内容如以下代码所示。可以非常清楚地看到,这就是一个实现IHttpHandler接口的类,如下所示:
using System;
using System.Web;
public class Handler:IHttpHandler{
public void ProcessRequest (HttpContext context){
context.Response.ContentType="text/plain";
context.Response.Write("Hello Word");
}
public bool IsReusable{
get{
return false;
}
}
}
从上面的代码可以看到,一般处理程序实际上就是一个处理程序类,这个处理程序被ASP.NET直接在系统的配置文件中映射到了ashx扩展名的请求上。这样,我们就不需要在配置文件中进行配置了。
如果使用的是VS2005或者VS2008,那么这两个文件会合并在一个ashx文件中,内容是相同的。