Asp.Net中HttpModule过滤器的简单使用

1.新建一个类库工程
   <1>.引用System.Web
   <2>.创建一个类,继承接口IHttpModule


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;


namespace MyHttpModule
{
    public class MHttpModule:IHttpModule
    {


        public void Init(HttpApplication context)
        {
            context.BeginRequest += new EventHandler(context_BeginRequest);
        }


        void context_BeginRequest(object sender, EventArgs e)
        {
            HttpApplication httpApp = (HttpApplication)sender;
            if (httpApp.Request.RawUrl.Contains(".aspx"))  //js和css文件排除
            {
                //httpApp.Response.Write("我是过滤器");
            }
            else if (httpApp.Request.RawUrl.Contains(".js"))
            {
                //httpApp.Response.Write("alert('我是过滤器')");
            }
        }


        public void Dispose()
        {
            throw new NotImplementedException();
        }
    }
}




2.在网站工程中修改web.config配置文件
    type="程序集名称.类名,程序集名称"
    <httpModules>
      <add name="myHttpModule" type="MyHttpModule.MHttpModule,MyHttpModule"/>
    </httpModules>





配置文件内容如下
<?xml version="1.0"?>
<!--
  有关如何配置 ASP.NET 应用程序的详细信息,请访问
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0"/>
    <customErrors mode="On">
      <error statusCode="404" redirect="ErrHandler.htm"/>
    </customErrors>
    <httpModules>
      <add name="myHttpModule" type="MyHttpModule.MHttpModule,MyHttpModule"/>
    </httpModules>
</system.web>
  <connectionStrings>
    <add name="conStr" connectionString ="Data Source=192.168.8.249;Initial Catalog=SDB_2;Uid=sa;pwd=kicpassword"/>
  </connectionStrings>
</configuration>

你可能感兴趣的:(Asp.Net中HttpModule过滤器的简单使用)