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);
            }
    

      

  • 相关阅读:
    国王游戏
    从2014到2015,还有什么?
    【转载】别把自己推到了墙角
    IE9+浏览器input文本框/密码框后面的小叉子/小眼睛清除
    ajax开发模拟后端数据接口
    谈谈JavaScript事件
    也说border-box盒模型
    极其简单的使用基于gulp和sass前端工作流
    如何使用javascript书写递归函数
    Git基本命令和GitFlow工作流
  • 原文地址:https://www.cnblogs.com/WarBlog/p/7018831.html
Copyright © 2011-2022 走看看