zoukankan      html  css  js  c++  java
  • asp.net 过滤器

    asp.net 制作过滤器原理:重写ASP.net管道事件

    1.通过HttpApplicationFactory创建一个HttpApplication对象,负责处理整个请求。

    2.调用ProcessRequest(HttpContext context)执行19个委托对象(请求管道)

    过滤器分为两种:

    1.调用外部程序集(本次自己做一个程序集)

    1.1.过滤器程序集代码要实现System.Web.IHttpModule接口

        public class MyModule:System.Web.IHttpModule
        {
            public void Init(System.Web.HttpApplication app)
            {
                app.BeginRequest += app_BeginRequest;
            }
    
            void app_BeginRequest(object sender, EventArgs e)
            {
                System.Web.HttpApplication app = sender as System.Web.HttpApplication;
                app.Context.Response.Write("哇哈哈哈哈~~~~~~~~~~~!");
            }
    
            public void Dispose()
            {
    
            }
        }
    

    1.2.把过滤器程序集放到开发网站的目录中,并添加到【引用】中。

    1.3.配置web.config

    <configuration>
        <system.web>
          <compilation debug="true" targetFramework="4.0" />
        </system.web>
      <!--IIS应用池 中 集成模式-->
      <system.webServer>
        <modules>
         <!--<add name="aa" type="程序集类的全名称,程序集名"/>-->
          <add name="aa" type="P02ThirdModule.MyModule,P02ThirdModule"/>
        </modules>
      </system.webServer>
    </configuration>
    

    2.系统内容过滤(通过global 利用事件自动注册机制)

           //--- 利用 事件自动注册机制 来 为 当前网站的 HttpApplicaiton里的 事件 注册方法 ----------------
    
            //管道事件方法 的 命名规则 :一定 以 Application_事件名
            protected void Application_BeginRequest(object sender, EventArgs e)
            {
                System.Web.HttpApplication app = sender as System.Web.HttpApplication;
                //app.Context.Response.Write("本网站的 Global 中 自动添加的方法 ~~~~~~~~~~~!");
                FakeStaticProcess(app);
            }
    

      

  • 相关阅读:
    asp.net linux 环境部署, jexus
    SAP选择屏幕下拉框实现
    SAP 选择屏幕的上方 (sscrfields) 按钮设置
    SAP笔记
    SAP导出内表数据到excel
    SAP笔记---非-现存任务/请求XXX上的请求锁定
    ABAP知识点笔记
    关联带出字段内容
    REUSE_ALV_GRID_DISPLAY详解
    django发送邮件send_mail&send_mass_mail
  • 原文地址:https://www.cnblogs.com/WarBlog/p/7018831.html
Copyright © 2011-2022 走看看