一.技术分析 |
打开网页,不管我们请求的是静态资源还是动态资源,IIS都会根据ISAPI(微软和Process软件公司联合提出的Web服务器上的API标准)这一标准,将请求的文件根据文件后缀名的不同,转交给不同的处理程序。打开IIS可以看到,大部分文件都交给了aspnet_isapi.dll进行处理,但是aspnet_isapi.dll不可能对所有文件都进行一样方式的处理。
为了了解aspnet_isapi.dll如何进行进一步处理的,我们可以打开C:WindowsMicrosoft.NETFrameworkv2.0.50727CONFIGWeb.config文件。可以看到,在<httpHandler>节点中将不同的文件类型映射给不同的handler去处理(为了方便截图,删掉了一部分映射)。
二.技术实现 |
在项目的web.config中加入配置:
<system.web>
<httpHandlers>
<add verb="*" path="*.jpg" type="Houses.Web.Upload.ImageHandler, Houses.Web" />
</httpHandlers>
</system.web>
加入配置后,运行项目出现配置错误,只能说明是你的Handler文件有问题。仔细检查一下Handler的class名字是否正确。