Welcome 微信登录

首页 / 网页编程 / ASP.NET / 巧用HttpHandler管理Xslt

巧用HttpHandler管理Xslt2011-04-17 博客园 wright jin这篇文章不是介绍xslt的使用方法,关于这类文章,随便在Google,百度一面一搜就是一 打。

我想介绍的是,如果用HttpHandler来管理xslt的。有这样的一个想法,主要是来源于公 司今年推出的一个产品(选才网)中有好几处都采用了xml+xslt来实现的。

采用xslt的优点我就不重复了,而缺点不知道大家有没有和我一样的感受。不太容易配置 。我这里指的的配置,是指,比如说,xslt里面需要引用某个JS,而这个JS的路径根据开发 环境和生产环境的不同,路径也会不同。还有就是子系统一多,系统直接访问就可能会牵扯 到跨域的问题,这么一来还要在相关xslt文件里面加上Domain的脚本,这样一来,每次发布 的时候,都需要来来回回到处配置。我是很讨厌太多配置的,并且还是分布在很多不同的位 置。

所以产生了写这么个handler的想法,主要是用来解决这么4个问题:

1. 能够自动为指定Xslt加上Domain。

2. 能够自动为指定Xslt加上指定的一个或多个JS。

3. 能够给Xslt做一下压缩(去空格,去换行)。

4. 能够控制一下客户端缓存。

那么定义Xml中xml-stylesheet连接地址为:xslt.axd? path=~/Common/XSLT/CV/resume.xslt&include=jquery.js&v=1.6.0.27201 &age=2592000

path: 就是指定的xslt文件的路径。

include: 需要引用的JS的名称。多个用半角逗号隔开。这里我没用用全路径。考虑到怕 JS一多,路径一长,导致url超过限制了。

v: 这个主要是用于强制更新客户端缓存而用的。

age: 这个就是指定客户端缓存的生命期。以秒为单位。加入这个主要是考虑到,每个 XSLT根据用途的不同,可能缓存的时间也是不同的。

那么介绍就这么多, 接下来就直接贴代码了。