就是在每个页面的头部加入一个版权声明

时间:2021-12-01 04:58:58

这三个东西我们在开发Asp.net措施时经常会用到,似乎很熟悉,但有时候又不太确定。本文通过一个简单的例子来直不雅观的对照一下这三个东西的使用。
HttpModule:Http模块,可以在页面措置惩罚惩罚前后、应用措施初始化、堕落等时候插抄本身的事件措置惩罚惩罚措施
HttpHandler:Http措置惩罚惩罚措施,措置惩罚惩罚页面请求
HttpHandlerFactory:用来创建Http措置惩罚惩罚措施,创建的同时可以附加本身的事件措置惩罚惩罚措施

例子很简单,就是在每个页面的头部插手一个版权声明。
一、HttpModule
这个东西我们经常用来进行统一的权限判断、日志等措置惩罚惩罚。
例子代码:

    public class MyModule : IHttpModule
    {
        public void Init(HttpApplication application)
        {
            application.BeginRequest += new EventHandler(application_BeginRequest);
        }

        void application_BeginRequest(object sender, EventArgs e)
        {
            ((HttpApplication)sender).Response.Write("Copyright @Gspring<br/>");
        }

        public void Dispose()
        {
        }
    }

web.config中配置:

      <httpModules>
        <add name="test" type="HttpHandle.MyModule, HttpHandle"/>
      </httpModules>

在Init要领中可以注册很多application的事件,我们的例子就是在开始请求的时候插抄本身的代码,将版权声明加到页面的头部 

二、HttpHandler

这个东西经常用来插手特殊的后缀所对应的措置惩罚惩罚措施,好比可以限制.doc的文件只能给某个权限的人访谒。
Asp.Net中的Page类就是一个IHttpHandler的实现
例子代码:

    public class MyHandler : IHttpHandler
    {
        public void ProcessRequest(HttpContext ctx)
        {
            ctx.Response.Write("Copyright @Gspring<br/>");
        }
        public bool IsReusable
        {
            get { return true; }
        }
    }

web.config中配置: