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
一、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
相关文章推荐
- Combres库 学习小结以及部分源码分析
- C#中Queue<T>类的使用以及部分方法的源码分析
- spark源码学习(三):job的提交以及runJob函数的分析
- (转)Bootstrap 之 Metronic 模板的学习之路 - (2)源码分析之 head 部分
- (转)Bootstrap 之 Metronic 模板的学习之路 - (3)源码分析之 body 部分
- hadoop学习之路(二)hadoop基本概念原理以及单词统计任务源码分析
- Spark组件之GraphX学习5--随机图生成和消息发送aggregateMessages以及mapreduce操作(含源码分析)
- HashSet源码分析以及自定义HashSet学习
- Android Study Material Design 六 之:TextInputLayout学习及分析部分源码
- OA学习笔记-010-Struts部分源码分析、Intercepter、ModelDriver、OGNL、EL
- (转)Bootstrap 之 Metronic 模板的学习之路 - (4)源码分析之脚本部分
- 深入学习Django源码基础9 - 简单分析DjangoORM部分
- C#中Queue<T>类的使用以及部分方法的源码分析
- JavaScript语言学习以及部分ThreeJs分析
- ThreadPoolExecutor的部分源码分析
- f2fs——新型flash友好文件系统gc部分源码分析
- cocos2d-x3.0中图片分辨率自动适配设置以及源码,原理分析。
- 三星uboot1.1.6源码分析——start.s(10)--C语言部分(4)
- jquery源码分析学习地址
- Netty源码学习——ChannelPipeline模型分析