background image

  数据结构中的单向链表可谓无比经典。有人说:单向链表的题目好难啊,没法逆序查找,

很多东西都不容易做。有人却说:单向链表既然只能向一个方向遍历,那么变化就

会很有限,所以题目不会过于复杂。老赵觉得后者的说法不无道理。例如在现在的问

题 上 , 我 们 如 果 要 在 一 个

ASP.NET

应 用 程 序 中 做 一 个 统 一 的 整 站 方 案 ,

HttpModule 似乎是唯一的选择。

  思路如下:我们在

Request Pipeline 中最早的阶段(BeginRequest)将请求的

QueryString 和 Form 集合中的值做过滤,则接下来的 ASP.NET 处理过程中一切

都为 规范 的文字了。说干就干,不就是替换两个

NameValueCollection 对象中

的值吗?这再简单不过了:

public class FilterForbiddenWordModule : IHttpModule

{

    void IHttpModule.Dispose() { }

    void IHttpModule.Init(HttpApplication context)

    {

        context.BeginRequest += new EventHandler(OnBeginRequest);

    }

    private static void OnBeginRequest(object sender, EventArgs e)

    {

        var request = (sender as HttpApplication).Request;

        ProcessCollection(request.QueryString);