摘要: 在前端优化的各种金律铁规中,“减少客户端对资源的请求”都会在其中出现,刚好最近对网站做一些优化,使用了一下Combres组件,有点心得,遂整理成文。园子中也有几篇Combres组件的介绍,如:Combres库学习小结以及部分源码分析和使用Combres 库 ASP.NET 网站优化。可部署时参考起来显得有些简略,所以此文也算对此类文章的补充。配置组件此组件的一些作用和原理在我上面提及的两篇文章中有介绍,可以自行移步至对应的文章中查看。这里还有有作者介绍的一些详细的使用方法。下载Combres组件,下载下来的包里包含了DLL、帮助文件、源码和一些例子,我们现在直接来看如何部署。在下载下来的\Bi 阅读全文
posted @ 2011-01-28 16:44 Parry 阅读(5764) 评论(20) 推荐(5)
摘要: 在前端优化中,js、css等文件的优化一般都是压缩的优化,进行合并、减小体积以达到减小请求的目的。今天发现了一个集成在VS中的压缩插件,使得压缩变得比较快捷。配置方法首先需要去下载Microsoft Ajax Minifier,一路安装就可以,如果VS正在使用,需要重启。在你的web项目上右键,点击卸载项目,使得变成灰色。在卸载的项目上点击编辑,在proj文件的添加配置节点,像下面这样配置节点说明。参考了此博文中的一段:Include属性是需要进行压缩的目录路径并带文件通配符Exclude则是不需要进行压缩的文件路径WebResources是我根目录下的文件夹,可以根据实际项目进行相应的调整A 阅读全文
posted @ 2011-01-24 14:37 Parry 阅读(1912) 评论(1) 推荐(3)
摘要: 无意在网上看到了一份.NET下实现Server Push(服务器推)的源码,断断续续看了两天,难点较多,遂成此文。关于服务器推技术,我们最深刻的体验应该是WebQQ的使用,通过服务器向客户端进行信息推送,而不是客户端去主动取数据(Client Pull)。在AJAX技术大行其道之时,服务器推技术才是未来的主角。AJAX 只是实现了单用户的响应回调,与服务器的异步通讯,但是并不能反映多用户的协同相应。一个页面中同时存在的多个AJAX的异步很可能让用户修改了没有显示 出来的数据,在逻辑上存在数据库事务中“脏读”或者“幻影读”的概念,还没有看到数据,发出下一个请求(当然请求是发送到了别的页面元素,但 阅读全文
posted @ 2010-11-18 14:30 Parry 阅读(4612) 评论(8) 推荐(5)
摘要: 在上篇跨域SSO的实现之一:架构设计中主要谈及了跨域SSO的实现原理,在这篇中主要介绍下此功能的实现。此文章还是对应于第一篇翻译文章的第二部分:Single Sign On (SSO) for cross-domain ASP.NET applications: Part-II - The implementation。今天读了一遍,发现都是对第一篇文章中原理的再解释。并且作者还提供了一个SSOLib.dll,使用此dll可以实现网站SSO的部署。主要实现的原理图而在sso站点中需要实现的方法如下:主要需要去理解下第一篇文章中提到的实现原理就可以了。源码下载 阅读全文
posted @ 2010-11-17 11:15 Parry 阅读(1998) 评论(2) 推荐(1)
摘要: 翻译自CodeProject网站ASP.NET9月份最佳文章:Single Sign On (SSO) for cross-domain ASP.NET applications。翻译不妥之处还望大家多多指导、相互交流。文章分为两部分:架构设计和程序实现,此为第一篇即:架构设计或者叫设计蓝图(Part-I - The design blue print)。:) 简介周一的早晨,当你正在纳闷周末咋就一眨眼过去了并对接下来漫长的一周感到无比蛋疼之时,你收到了一份Email。操蛋的是它既不是微软的offer也不是Google的offer,而是客户发来的一个新需求。他说你们现在帮我们公司做了很多的AS 阅读全文
posted @ 2010-10-28 11:34 Parry 阅读(14921) 评论(36) 推荐(16)
摘要: HTTP压缩HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的方法。HTTP压缩采用通用的压缩算法如GZIP等压缩HTML、JavaScript或CSS文件。压缩的最大好处就是降低了网络传输的数据量,从而提高客户端浏览器的访问速度。当然,同时也会增加一点点服务器的负担。GZIP是比较常见的一种HTTP压缩算法。压缩测试在部署的IIS 6.0上配置了GZIP压缩,详细的测试结果如下。未开启GZIP压缩前,访问网站首页进行抓包分析。开启GZIP后,清空本地IE缓存,再次访问抓包分析。开启前后,页面大小减小了89213bytes,压缩掉原始大小的87%。当对CSS、JS等文件都开启GZIP压缩 阅读全文
posted @ 2010-10-26 09:20 Parry 阅读(5571) 评论(31) 推荐(7)
摘要: 开发的CMS系统中模板引擎和标签的开发算是告一段落,而在Discuz的CMS系统SupeSite中借鉴到了很多东西,略作小记,好记性永远不如烂键盘。当需要将页面解析成静态页面时,当然需要借助模板引擎去对标签作解析。而标签数据源的定义颇值得研究。在先前的标签设计中,由于数据存储使用动态模型,所以并没有涉及到多张表的逐个定义标签解析。而在后期的开发中,脱离动态模型的表越来越多,而每一个表的数据解析,就需要去定义一个标签数据源,再对每一个数据源赋值,最后模板引擎作解析。而就在前段时间,下载了个SupeSite搭建系统做研究,发现其设计很精妙。在其系统设计中有个叫“模块管理”的东西,将各个数据源统一管 阅读全文
posted @ 2010-10-26 09:15 Parry 阅读(835) 评论(0) 推荐(0)
摘要: 在项目中需要将内部DECLARE的参数通过EXEC赋值后再作为下面一个EXEC参数的时候,发现都使用EXEC时,问题就不是那么简单了。趁着没有睡意研究下。EXEC的使用与缺点EXEC命令有两种用法,一种是执行一个存储过程,另一种是执行一个动态的批处理一般的使用如下,做动态SQL语句拼接,然后执行然而上面这样的拼接语句又称为“串联变量”,而串联变量是不支持执行计划的,在我的演示代码中我已加了测试的SQL语句。使用DBCC FREEPROCCACHE清空缓存。(具体使用可以查看MS的MSDN:http://msdn.microsoft.com/zh-cn/library/ms174283.aspx 阅读全文
posted @ 2010-10-26 09:11 Parry 阅读(1159) 评论(2) 推荐(1)
摘要: 微软在9月17日中午正式对外公布了ASP.NET平台下的安全漏洞,即Microsoft Security Advisory (2416728)。SecurityFocus上已将此漏洞定义成了"Design Error",那么微软一开始的设计就是错误的,为什么这么说呢?且待我们慢慢来分析。昨天在园友辰的一篇博文:对ASP.NET的最新安全漏洞进一步跟进说明中也看到了对此问题的详细追踪,但上午也只是粗粗浏览,下午细看时总觉文中有些地方略显含糊,所以晚上也就顺带查了些资料,略有所得,不敢独享,遂成此文!微软的态度查看了许多微软官方的说明文档,解释的都比较简单,当然对于这个比较大的 阅读全文
posted @ 2010-09-20 02:31 Parry 阅读(18517) 评论(44) 推荐(11)
摘要: ISAPI_Rewrite是一个较为好用的URL重写组件,安装和配置都比较简单,防盗链的设置也极其简单。问题如何获取被ISAPI_Rewrite重写后的URL。测试环境:IIS6中使用ISAPI_Rewrite对Default.aspx进行重写,重写后的地址为:Index-After-ReWriter.html。需要获取重写后的地址,即Index-After-ReWriter.html。一些弯路首先想到的就是Request对象,如Request.Url和Request.RawUrl。测试后发现获取到的地址都是Default.aspx。上网找了找ISAPI_Rewrite的处理流程图,找到了下面 阅读全文
posted @ 2010-09-13 15:58 Parry 阅读(5359) 评论(10) 推荐(2)