HttpHandler过滤请求..
2015-08-27 18:00
375 查看
记得以前写过一篇..后来找不到了..我自己也忘记怎么弄了..
在网上找了很多的教程..写的总有瑕疵..感觉不顺畅..
自己来一篇..
其实很简单..
先建立一个类 继承并实现接口 IHttpHandler
例如:
相信这个类上边没有什么疑问..
就是添加到任何地方就好..
然后是在配置文件web.config 里的配置
很多教程都说是这样配置的
但是我不知道是我运气背还是怎滴..总之就是报错.. 说什么集成模式不能运行什么的..MD老子还在VS里运行的那里能调这个..
后来改成...
可以了..
这里边具体是为什么我没有搞明白..希望在以后的某个偶然中搞明白吧..或请路过的大神提点一二..
也许这配置到了服务器上要改成第一种那样..但是只要保证能够运行就好..
话说HttpHandler的另外一个作用还可以是实时生成静态页面来提供访问..
以前做站点静态化都是修改完数据之后自动重新生成..或者手动批量生成..
如果当时会用HttpHandler的话..就好的多了..
在网上找了很多的教程..写的总有瑕疵..感觉不顺畅..
自己来一篇..
其实很简单..
先建立一个类 继承并实现接口 IHttpHandler
例如:
namespace MyHandler { public class ImageH : IHttpHandler { public bool IsReusable { get { return true; } } public void ProcessRequest(HttpContext context) { //为了演示..就不再做过多的判断..直接输出一个其他的图片 context.Response.ContentType = "image/JPEG"; context.Response.WriteFile("/Content/Image/error.jpg"); //context.Response.Redirect("/Home"); context.Response.End(); } } }
相信这个类上边没有什么疑问..
就是添加到任何地方就好..
然后是在配置文件web.config 里的配置
很多教程都说是这样配置的
<system.web> <httpHandlers> <add path="*.jpg,*.jpeg,*.gif,*.png,*.bmp" verb="*" type="CustomHandler.JpgHandler,CustomHandler" /> </httpHandlers> </system.web>
但是我不知道是我运气背还是怎滴..总之就是报错.. 说什么集成模式不能运行什么的..MD老子还在VS里运行的那里能调这个..
后来改成...
<system.webServer> <handlers> <add name="jpg" path="*.jpg" verb="*" type="MyHandler.ImageH,MyHandler"/> <add name="png" path="*.png" verb="*" type="MyHandler.ImageH,MyHandler"/> <add name="html" path="*.html" verb="*" type="MyHandler.HtmlH,MyHandler"/> </handlers> </system.webServer>
可以了..
这里边具体是为什么我没有搞明白..希望在以后的某个偶然中搞明白吧..或请路过的大神提点一二..
也许这配置到了服务器上要改成第一种那样..但是只要保证能够运行就好..
话说HttpHandler的另外一个作用还可以是实时生成静态页面来提供访问..
以前做站点静态化都是修改完数据之后自动重新生成..或者手动批量生成..
如果当时会用HttpHandler的话..就好的多了..
相关文章推荐
- 记一次TIME_WAIT网络故障
- Java利用Http 模拟POST、GET请求
- Android 网络okHttp基础
- HttpURLConnection与HttpClient区别及联系
- 网络协议的使用
- OkHttp使用介绍
- iOS平台利用 NSURLProtocol 实现网络数据缓存
- 2016网络红人萧天
- org.apache.axis2.deployment.DeploymentException: org/apache/commons/httpclient/HttpException
- 【Http】Http权威指南
- epoll_event(cp:http://simple1110.blog.163.com/blog/static/4803296120118195856410/)
- 网络通信 --> socket通信
- hibernte与spring结合时,配置使hibernate的session的生命周期延迟,以及配置httpsession的时间
- httpClient设置代理
- Linux 统计网络流量备忘
- Android SDK更新时 “https://dl-ssl.google.com refused”异常 解决方法
- HTTP Basic Authorization(附iOS实现方法)
- HTTP请求的header头解析
- 浅谈HTTP中Get与Post的区别
- Linux 下curl模拟Http 的get or post请求。