zoukankan      html  css  js  c++  java
  • 处理程序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接口。所有开发人员只需要编辑一页面,其他交有编译器生成。

    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配置不可访问的文件

  • 相关阅读:
    CI 知识 :Git介绍及常用操作
    虚拟机的迁移(热迁移)
    kvm虚拟化网络管理
    Zabbix -----安装
    Mariadb 主从
    keepalived + lvs marster 与 backup 之间的 高可用
    LVS 负载均衡 (VS/DR模式 与 VS/TUN 模式)
    linux下部署tomcat 上线jpress博客系统
    docker (2)---存储、网络(利用docker容器上线静态网站)
    openstack(2) -------RabbitMQ集群部署
  • 原文地址:https://www.cnblogs.com/LoveTomato/p/9114680.html
Copyright © 2011-2022 走看看