How to used HttpModule

Http Modules allow you to extend the existing ASP.NET pipeline.  The most common use of HTTPModules is pre and/ore postprecessing of requests.  Internally ASP.NET utilizes custom modules (httpmodules) for: output caching, authentication and authorization etc.  Therefore, if you ever need to tap into the pipleline to alter the request in any way, look into HttpModules as they provide a relatively easy way for you to do just that (similiar to how ISAPI filters helped achieve pre/post processing capabilities). 

To develop an HttpModule you are required to do the following:

  • You class must implement the iHttpModule Interface
  • Both the Init(..) and Dispose() methods must be in your class definitions

Below is a simple example that outputs "HttpModule says Hello!" to each and every request.  You will notice that I wired an event in the Init(..) method that calls OnBeginRequest at the beginning of every request.

using System;
using System.Web;
namespace CSharpFriends.Samples
{
 public class CSharpFriendsHttpModule : IHttpModule 
 {
  public CSharpFriendsHttpModule()
  {
  }
  /// 
  /// Required by the interface IHttpModule
  /// 
  public void Dispose() 
  {	
  }
  /// 
  /// Required by the interface IHttpModule
  /// I also wire up the Begin Request event.
  /// 
  public void Init(System.Web.HttpApplication App) 
  {  
     App.BeginRequest += new System.EventHandler(OnBeginRequest);
     App.EndRequest+=new System.Eventhandler(OnEndRequest);
  }

    public void OnBeginRequest(object sender, EventArgs e)
   {
    //HttpRequest request = ((HttpApplication)sender).Request;
    HttpApplication app= ((HttpApplication)sender;
    app.Context.Response.Write("HttpModule says Hello!");
   }
   public void OnEndRequest(object sender,EventArgs e)
  {
    HttpApplication app=(HttpApplication)sender;
    app.Context.Response.Write("HttpModule says Baby!");
  }

}
}

In your web.config, add the following elements:
<httpModules>
	<add type="CSharpFriends.Samples.CSharpFriendsHttpModule,Test" name="CSharpFriendsHttpModule" />
</httpModules>
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值