处理程序Handler

介绍处理程序概念前,因先说下HttpModule请求管道。我们可以将请求管道看成将请求过滤和根据请求找到具体的处理程序HttpHandler和处理程序结束流向管道。
处理程序Httphandler就是针对不同请求类型的不同处理程序(包括:webForm,WebServie等等)。

创建一个处理程序

创建以处理程序简单分为两个步骤:

  1. 创建一个类实现IhttpHandler
  2. 注册处理程序 add子元素的三个属性:verb:Http请求类型(Get,Post...);Path 路径;type处理程序的名称
    以上是自己创建方式,为了更灵活的创建。系统一般处理工厂IhttpHandlerFactory的方法GetHandler()得到处理程序。根据不同的文件类型,利用具体的处理程序工厂动态创建处理程序,开人员只需关注自己业务。

    常用的处理工厂

    一般处理程序

    扩展名为ashx使用,一般用处理结果为:XML,json数据或图片等请求

    页面处理程序

    最复杂的,用于返回HTML页面。工厂为PageHandlerFactory。当首次访问.aspx页面时PageHandlerFactory将其生成两个类,其继承的Page类实现了,IHandler接口。所有开发人员只需要编辑一页面,其他交有编译器生成。
    1236909-20180531072235194-947541507.png

web处理程序

扩展类型.asmx,其中系统对方法提供了不同的标签

标签名作用
[ScriptService]通过ajax访问返回json数据
[WebService]XML数据

资源处理程序

允许程序员通过Http访问程序集访问网站中的资源(如script脚本、图片在开发自定义控件时常用)
WebResourceAttribute在程序集中描述资源,获取资源通过ClientScriptManager.GetWebResourceUrl()

System. Type type= typeof( DiskFileUpload. FileItem); 
string url= this. ClientScript.System. Type type= typeof( DiskFileUpload. FileItem); 
string url= this. ClientScript.

禁止访问资源

禁止http访问HttpForbiddenHandler,开人员可以通过config配置不可访问的文件

转载于:https://www.cnblogs.com/LoveTomato/p/9114680.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值