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

  

 

转载于:https://www.cnblogs.com/WarBlog/p/7018831.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值