zoukankan      html  css  js  c++  java
  • asp.net 知识回顾(三)

    在之前的文章介绍过HttpModule,在这就不啰嗦了。

    今天完成了一个小案例,效果如图:

     

    为原有的文本,添加一些其它信息,实现思路如下:

    一、创建TestHttpModule类,并实现IHttpModule接口。

    二、实现IHttpModule接口中的方法,为HttpApplication对象的BeginRequest事件绑定方法,实现在用HttpHandler处理每个请求前,附加额外信息的功能。

    namespace HttpModule_Demo.App_Code
    {
        public class TestHttpModule : IHttpModule
        {
            public void Dispose() { }
     
            public void Init(HttpApplication context)
            {
                context.BeginRequest += Context_BeginRequest;
                context.EndRequest += Context_EndRequest;
            }
     
            private void Context_EndRequest(object sender, EventArgs e)
            {
                HttpApplication application = sender as HttpApplication;
                application.Response.Write("<p>HttpModule结束处理请求</p>");
     
            }
     
            private void Context_BeginRequest(object sender, EventArgs e)
            {
                HttpApplication application = sender as HttpApplication;
                application.Response.Write("<p>HttpModule开始处理请求</p>");
     
            }
        }
    }
    

      


    三、在web.config中配置TestHttpModule类。 

    <!--配置节点-->
      <system.webServer>
        <modules>
          <!--type="命名空间.类名"-->
          <add name="test" type="HttpModule_Demo.App_Code.TestHttpModule"/>
        </modules>
      </system.webServer>


    四、创建一个aspx页面,并添加页面内容。

    <body>
        <form id="form1" runat="server">
            <div>
                <h2>欢迎访问页面1</h2>
            </div>
        </form>
    </body>

    五、分别测试两个aspx页面,观察页面输出的内容。 

    案例很简单,但是要理解它的流程。

    其中有个小知识点,可以和大家分享下:

    TestHttpModule实现IHttpModule接口时,它实现了二个方法,一个是Dispose,另一个是Init初始化方法。,下面的一段中“+=”个人理解,其实是一种多播委托,把Event事件连接在一起执行。

    context.BeginRequest += Context_BeginRequest;
    context.EndRequest += Context_EndRequest;


    选择TestHttpModule类中的关键字BeginRequest并且转到定义(F12),会看到如下的代码。

  • 相关阅读:
    8-12-COMPETITION
    The Rotation Game(IDA*算法)
    Largest Rectangle in a Histogram(DP)
    Top ShooterHDU2863&&继续xxx定律HDU3784
    NYOJ 536 开心的mdd(DP)
    POJ1328 Radar Installation 图形转化 贪心 排序
    cout:格式算子与保留精度
    POJ 2109 Power of Cryptography二分+大数相乘和pow为什么可以直接过的原因
    字符串交换函数
    纪念一次失败的暴力 统计回文字串
  • 原文地址:https://www.cnblogs.com/ZeedLee/p/12161763.html
Copyright © 2011-2022 走看看