输出页眉和页脚的简单HTTP模块实践
在浅析HTTP Module的文章中有提到要实现一个自定义页眉和页脚的HTTP Module.
下面的实例代码仅是静态实现,并没有涉及到配置和自定义输出.
示例源码下载:Source Code
1、实现IHttpModule接口的类 PageHeadFootModule。
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2、为Init方法编写一个处理程序。初始化方法应该初始化模块并订阅所需的任何应用程序事件。
public void Init(HttpApplication app)
{
app.BeginRequest += new EventHandler(context_BeginRequest);
app.EndRequest += new EventHandler(context_EndRequest);
}
{
app.BeginRequest += new EventHandler(context_BeginRequest);
app.EndRequest += new EventHandler(context_EndRequest);
}
3、为已经订阅的事件编写代码
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
4、PageHeadFootModule完整代码
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
5、在Web.config文件中注册模块.
<httpModules>
<add name="PageHeadFoot" type="APH.WebPageHeadFoot.Web.PageHeadFootModule,APH.WebPageHeadFoot"/>
</httpModules>
<add name="PageHeadFoot" type="APH.WebPageHeadFoot.Web.PageHeadFootModule,APH.WebPageHeadFoot"/>
</httpModules>
6、运行效果:在注册该模块的网站中,无论请求哪一个aspx页面都自动的在页首和页尾添加文字,效果图如下: