HttpModule对象

一、动态网页的工作机制的四个阶段:

1.使用动态Web开发技术。

2.客户端通过在浏览器输入地址,请求动态页面。

3.根据请求生成HTML流,返回给客户端。

4.客户端浏览器解释HTML流,并显示为Web页面。

二、HttpModule对象的使用

首先创建一个站点,然后添加两个ASP.NET页面,

并创建一个HttpModule类,实现请求每个页面时,对其添加额外信息。

HttpModule类
public class TestHttpModule:IHttpModule
    {
        public void Dispose()
        {
            throw new NotFiniteNumberException();
        }
        public void Init(HttpApplication context)
        {
            //初始化,为HttpApplication对象绑定两个事件
            //在HttpHand请求处理之前触发的事件
            context.BeginRequest += context_BeginRequest;
            //请求处理完毕后触发的事件
            context.EndRequest += context_EndRequest;
        }
        //在请求处理之前,附加信息
        private void context_EndRequest(object sender, EventArgs e)
        {
            HttpApplication application = sender as HttpApplication;
            string uri = application.Request.Url.ToString();
            if(uri.LastIndexOf(".jpg")==-1)
            application.Response.Write("<p>context_EndRequest开始处理请求</p>");
        }
        //在请求处理完毕后,附加信息
        private void context_BeginRequest(object sender, EventArgs e)
        {
            HttpApplication application = sender as HttpApplication;
            string uri = application.Request.Url.ToString();
            if (uri.LastIndexOf(".jpg") == -1)
            application.Response.Write("<p>context_BeginRequest结束处理请求</p>");
        }

    }

除此之外,还需要在web.config中配置,在<configuration>节点添加如下内容。

<system.webServer>
	<modules>
		<add name="Test" type="Fangdao.TestHttpModule"/>
	</modules>
		
</system.webServer>

在这里需要注意Fangdao是你创建的.NET的名字。

 

三、窗体显示。

<img class="图片大小" src="图片地址"/>

提前创建图片文件夹,放入图片,"one"定义图片大小。

<title></title>
    <style>
        .one{
            height:600px;
            width:400px;
        }
        
    </style>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <img class="one" src="img/1.jpg" />
        </div>
    </form>
</body>

 

上一篇:Asp.Net MVC一个Http请求流程


下一篇:ASP.NET MVC doesn't call global.asax' EndRequest