摘要: 项目中有一处需求,需要把长网址缩为短网址,把结果通过短信、微信等渠道推送给客户。刚开始直接使用网上现成的开放服务,然后在某个周末突然手痒想自己动手实现一个别具特色的长网址(文本)缩短服务。 由于以前做过socket服务,对数据包的封装排列还有些印象,因此,短网址服务我第一反应是先设计数据的存储格式,我这里没有采用数据库,而是使用2个文件来实现。 阅读全文
posted @ 2015-06-23 09:20 蔡大卫 阅读(4309) 评论(25) 推荐(27) 编辑
摘要: 左图是常见的页面布局图,具有相当普遍的使用量与代表意义,本文使用 XSL 打造这种布局的模板框架。 左图的特点是 Header、Sidebar、Footer 三个区域是公共区域,一个普通网站大部分页面都可以抽象出这三个区域,不同的页面只在 Body 区域有差异。那么在制作页面时只要编写 Body 区域,其他位置只要调用(include)公共的 Header、Sidebar、Footer区域就算完成页面了。这是正向思维,因为程序里面经常这么干,功能模块化,按需加载。用这种思路做网页模板,前端人员会抓狂,因为这种框架明显忽视了前端HTML结构的完整性与合理性,CSS、Javascript变得混乱不堪。 用Xsl打造模块框架,使用的恰好是反向思维。设计框架模板的作用是使每个页面都继承自模板,子页面又能重写扩展公共区域。既节省时间重用模块 阅读全文
posted @ 2015-06-10 14:57 蔡大卫 阅读(1899) 评论(1) 推荐(2) 编辑
摘要: 本文使用C#实现了Xml+Xsl=>Html 的转换过程,并且举例转换过程中传入的两种参数的应用。在实际应用过程中,由于页面的构造完全使用Xsl格式化,不再需要使用 System.Web.UI.Page 类,因此推荐在一般处理程序(HttpHandle)中执行Xsl转换,这样可以得到完整的页面HTML代码,或可再做一次服务端缓存,或者做基于HTTP协议的客户端缓存,甚至手工实现Gzip传输,自由度比普通页面程序(aspx)大一些。 阅读全文
posted @ 2015-06-10 08:50 蔡大卫 阅读(1296) 评论(8) 推荐(1) 编辑
摘要: Xsl 的全称是 eXtensible Stylesheet Language,它是专门用于以可读格式呈现Xml数据的语言。它能把Xml数据转换为任意形式的文本数据,如Html、Xml、Json、C#、Sql语句等。由于Xsl 是 Xml 语言的子集,因此 Xsl 的书写格式也必须符合Xml的标准。它继承了Xml语言的中立性,不偏向任何一种编程语言,各大编程语言也对Xsl有良好的支持。甚至可以这样说,Xsl一次编写,到处运行。 阅读全文
posted @ 2015-06-09 18:31 蔡大卫 阅读(3681) 评论(2) 推荐(1) 编辑
摘要: 我的脑子里有个名词一直在纠结:委托。 顾名思义,委托,把事情托付给他人或机构(办理)。造句诸如:“当事人委托律师出庭辩护”,“我能委托你办一件事吗”。 很明显,委托是个抽象动作(Action),目的具体不详,“出庭辩护”,“办一件事”才是真正要做的事。但C#中委托却让我之前一头雾水,因为这个概念从来未有如此摊开摆上台面。 我确信在以往的 JavaScript 编程中,有类似“委托”这个概念的,比如按钮事件绑定,匿名函数。而网上搜罗有关 C# 委托的言语也大多与函数指针、事件绑定有关。下面将用 JavaScript 与 C# 两种“委托”相对比,用于加深理解。 阅读全文
posted @ 2011-10-22 12:22 蔡大卫 阅读(1450) 评论(3) 推荐(0) 编辑