HttpHandler在Asp.net中核心对像之一,我们可以实现IHttpHandler接口来优化Css样式文件. 用一个我们自定义的HttpHandler映射.css的文件.
首先我们最小化Css样式文件尺寸, 然后我们再处理后CSS文件做内存缓存. 缓存依赖物理文件,当文件被修改后,重新加载. 这里我们以Demo为目的,默认
缓存时间2小时. 让我们先来看一下类图是这样的:

我们定义一个IFilesCache的接口,是为了实现两种不能缓存方式.一种是有用System.Web.Caching.Cache,别一个是用.net 4.0下System.Runtime.Caching.ObjectCache的内存Cache. 我们定义一个FilesCacheFactory的类根据.net framework当前版来在创建
当前的实例. 当然你可以直接选择其它组件实现缓存. 下面是Handler的代码:
与Cache相关的类:
在Web.config中增加:

当增加这个优化Css的HttpHandler后, 是这样的:

有注意size从4.2KB变成了3.2KB. 以上我们直是实现比较简单的,你可以优化实现更高效的算法. 或增加扩展.