Global.asax和IHttpModule

两者都能处理HttpApplication中的事件。

IHttpModule 的方式可以用来创建多个 Module ,并编译为程序集,方便部署和在多个项目中使用。
而 Global.asax 方式比较直接,方便在程序中一次性的处理。

Global.asax是继承了HttpApplication。而IHttpModule的Init方法中,传入的参数必须是HttpApplication。

HttpModule可以编译成dll,但是global只能在一个应用程序中。

You can use the Global.asax file to synchronize any event that is exposed by the HttpApplication base class. To do this, you must use the following naming pattern to author methods:

在Global.asax中,如果要实现HttpApplication中暴露的事件,必须采用专用的命名规则。Application_EventName(AppropriateEventArgumentSignature)

protected void Application_AcquireRequestState(object sender, EventArgs e)
        {
            Response.Write("1Application_AcquireRequestState" + "<br>");
        }
        protected void Application_AuthenticateRequest(object sender, EventArgs e)
        {
            Response.Write("2Application_AuthenticateRequest" + "<br>");
        }
        protected void Application_AuthorizeRequest(object sender, EventArgs e)
        {
            Response.Write("3Application_AuthorizeRequest" + "<br>");
        }
        protected void Application_BeginRequest(object sender, EventArgs e)
        {
            Response.Write("4Application_BeginRequest" + "<br>");
        }
        protected void Application_Disposed(object sender, EventArgs e)
        {
            Response.Write("5Application_Disposed" + "<br>");
        }
        protected void Application_EndRequest(object sender, EventArgs e)
        {
            Response.Write("6Application_EndRequest" + "<br>");
        }
        protected void Application_Error(object sender, EventArgs e)
        {
            Response.Write("7Application_Error" + "<br>");
        }
        protected void Application_LogRequest(object sender, EventArgs e)
        {
            Response.Write("8Application_LogRequest" + "<br>");
        }
        protected void Application_MapRequestHandler(object sender, EventArgs e)
        {
            Response.Write("9Application_MapRequestHandler" + "<br>");
        }
        protected void Application_PostAcquireRequestState(object sender, EventArgs e)
        {
            Response.Write("10Application_PostAcquireRequestState" + "<br>");
        }
        protected void Application_PostAuthenticateRequest(object sender, EventArgs e)
        {
            Response.Write("11Application_PostAuthenticateRequest" + "<br>");
        }
        protected void Application_PostAuthorizeRequest(object sender, EventArgs e)
        {
            Response.Write("12Application_PostAuthorizeRequest" + "<br>");
        }
        protected void Application_PostLogRequest(object sender, EventArgs e)
        {
            Response.Write("13Application_PostLogRequest" + "<br>");
        }
        protected void Application_PostMapRequestHandler(object sender, EventArgs e)
        {
            Response.Write("14Application_PostMapRequestHandler" + "<br>");
        }
        protected void Application_PostReleaseRequestState(object sender, EventArgs e)
        {
            Response.Write("15Application_PostReleaseRequestState" + "<br>");
        }
        protected void Application_PostRequestHandlerExecute(object sender, EventArgs e)
        {
            Response.Write("16Application_PostRequestHandlerExecute" + "<br>");
        }
        protected void Application_PostResolveRequestCache(object sender, EventArgs e)
        {
            Response.Write("17Application_PostResolveRequestCache" + "<br>");
        }
        protected void Application_PostUpdateRequestCache(object sender, EventArgs e)
        {
            Response.Write("18Application_PostUpdateRequestCache" + "<br>");
        }
        protected void Application_PreRequestHandlerExecute(object sender, EventArgs e)
        {
            Response.Write("19Application_PreRequestHandlerExecute" + "<br>");
        }
        protected void Application_PreSendRequestContent(object sender, EventArgs e)
        {
            Response.Write("20Application_PreSendRequestContent" + "<br>");
        }
        protected void Application_PreSendRequestHeaders(object sender, EventArgs e)
        {
            Response.Write("21Application_PreSendRequestHeaders" + "<br>");
        }
        protected void Application_ReleaseRequestState(object sender, EventArgs e)
        {
            Response.Write("22Application_ReleaseRequestState" + "<br>");
        }
        protected void Application_ResolveRequestCache(object sender, EventArgs e)
        {
            Response.Write("23Application_ResolveRequestCache" + "<br>");
        }
        protected void Application_UpdateRequestCache(object sender, EventArgs e)
        {
            Response.Write("24Application_UpdateRequestCache" + "<br>");
        }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值