网上有很多HttpHandler的文章,大部分的使用方法是在web.config中加入配置,以拦截url来获得调用。其实还有另外不太常见的一种方法--*.ashx文件。
notepad里面打开一个文件,写入以下内容:
<%@ WebHandler Language="C#" Class="此处写出类全名即可"%>
APS.NET会在bin目录下面的所有dll中搜索这个实现的IHttpHandler接口的类,并执行。这样以来,只要通过对这个ashx的地址来访问,即可执行这个HttpHandler了。
例如:http://xxx/test.ashx 就可以了。
这样的使用对于一些图片显示等特别有用。例如,有大量的图片存在服务器硬盘上,有client对image.ashx请求时,HttpHandler从本地路径读取相应的图片,在response中返回。这样就不需要把这些图片放到虚拟目录下,直接可以使用了。