您的位置:首页 > 其它

Combres库 学习小结以及部分源码分析

2010-04-04 13:36 531 查看
昨天看到有博客园网友发布了一篇关于《使用Combres 库 ASP.NET 网站优化》的文章,觉得是个挺不错的脚本优化的类库,而且目前我的项目公务员考试应战平台也有使用到Js以及css合并压缩优化的技术,想看看能不能借鉴下里面的元素。

一、Combres介绍

这里不多做介绍,可以参看/article/4588081.html的链接。

二、如何使用

1. 在Combres官方源码中我们找到combres.xsd, 它在\Source\Combres\Combres\Resources下面,这个XML Schema配置在VS.NET开发环境中,可以产生智能提示,具体操作:将文件放入C:\Program Files\Microsoft Visual Studio 9.0\Xml\Schemas,并且在VS工具中的工具栏中Xml –> Schemas…中选中该xsd,即可产生智能提示。

2. 创建一个管理css,js的xml配置文件:

代码

public void ProcessRequest(HttpContext context)
{
if (context == null)
return;
var settings = Configuration.GetSettings();
try
{
new RequestProcessor(context, settings, setName, version).Execute();
}
catch (ResourceSetNotFoundException ex)
{
NotFound(context, ex);
}
catch (ResourceNotFoundException ex)
{
NotFound(context, ex);
}
}
最核心的就是黑体的部分,其中setName就是文件配置中资源节点的name名称,version就是节点的版本号,Execute方法具体将调用Workflow.Execute()
public void Execute()
{
using (new Timer("Processing " + ResourceSet.Name, Log.IsDebugEnabled, Log.Debug))
{
Workflow.Execute();
}
}

Workflow实际是一个接口,它的实现为DefaultProcessingWorkflow以及DebugProcessingWorkflow,其中DefaultProcessingWorkflow对资源路径中的内容进行缓存处理,注意看到Execute()方法,方法作为IProcessingWorkflow的接口方法,具体实现中调用方法processor.WriteFromServerCache(),从WriteFromServerCache方法进行缓存处理。

暂时先分析到这里,很多细节上没有去细看,等有空再写篇比较深入点的文章:)

最后附上我测试时用的源代码:CombresSolution.rar
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: