<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feeds.feedsky.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feeds.feedsky.com/csdn.net/lgjlry" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feeds.feedsky.com/csdn.net/lgjlry" type="application/rss+xml"></fs:self_link><lastBuildDate>Tue, 16 Jun 2009 10:35:00 GMT</lastBuildDate><title>晓风的世界</title><description>程序生活每一天</description><link>http://blog.csdn.net/lgjlry/</link><item><title>关于VC link2005 重复定义，定义冲突的错误解决</title><link>http://blog.csdn.net/lgjlry/archive/2009/06/16/4272495.aspx</link><wfw:comment>http://blog.csdn.net/lgjlry/comments/4272495.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/lgjlry/comments/commentRss/4272495.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4272495</trackback:ping><description>&lt;br /&gt;许多Visual C++的使用者都碰到过LNK2005:symbol already defined和LNK1169:one or more multiply defined symbols found这样的链接错误，而且通常是在使用第三方库时遇到的。对于这个问题，有的朋友可能不知其然，而有的朋友可能知其然却不知其所以然，那么本文就试图为大家彻底解开关于它的种种疑惑。 &lt;br /&gt;　　大家都知道，从C/C++源程序到可执行文件要经历两个阶段:(1)编译器将源文件编译成汇编代码，然后由汇编器(assembler)翻译成机器指令(再加上其它相关信息)后输出到一个个目标文件(object file,VC的编译器编译出的目标文件默认的后缀名是.obj)中；(2)链接器(linker)将一个个的目标文件(或许还会有若干程序库)链接在一起生成一个完整的可执行文件。&lt;br /&gt;　　编译器编译源文件时会把源文件的全局符号(global symbol)分成强(strong)和弱(weak)两类传给汇编器，而随后汇编器则将强弱信息编码并保存在目标文件的符号表中。那么何谓强弱呢？编译器认为函数与&lt;img src =&quot;http://blog.csdn.net/lgjlry/aggbug/4272495.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/236629861/lgjlry/csdn.net/s.gif?r=http://blog.csdn.net/lgjlry/archive/2009/06/16/4272495.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/lgjlry/236629861/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/lgjlry/236629861/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Tue, 16 Jun 2009 18:35:00 +0800</pubDate><author>liuguangjie</author><comments>http://blog.csdn.net/lgjlry/archive/2009/06/16/4272495.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/lgjlry/archive/2009/06/16/4272495.aspx</guid><dc:creator>liuguangjie</dc:creator><fs:srclink>http://blog.csdn.net/lgjlry/archive/2009/06/16/4272495.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/lgjlry/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/lgjlry/~1189344/236629861/1189323</fs:itemid></item><item><title>mysql 安装后配置失败</title><link>http://blog.csdn.net/lgjlry/archive/2009/04/02/4043844.aspx</link><wfw:comment>http://blog.csdn.net/lgjlry/comments/4043844.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/lgjlry/comments/commentRss/4043844.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4043844</trackback:ping><description>&lt;br /&gt;解决方法：&lt;br /&gt;可以使用mysql以外的服务名,比如mysql11,等.但这不是最好的解决方法,我们可以使用windows的sc程序删除mysql服务. &lt;br /&gt;C:&gt;sc delete mysql &lt;br /&gt;[SC] DeleteService SUCCESS &lt;br /&gt;再重新使用MySQL Configuration Wizard,就不会有此错误了。&lt;img src =&quot;http://blog.csdn.net/lgjlry/aggbug/4043844.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/lgjlry/236629862/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/lgjlry/236629862/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Thu, 02 Apr 2009 23:35:00 +0800</pubDate><author>liuguangjie</author><comments>http://blog.csdn.net/lgjlry/archive/2009/04/02/4043844.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/lgjlry/archive/2009/04/02/4043844.aspx</guid><dc:creator>liuguangjie</dc:creator><fs:srclink>http://blog.csdn.net/lgjlry/archive/2009/04/02/4043844.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/lgjlry/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/lgjlry/~1189344/236629862/1189323</fs:itemid></item><item><title>BooleanClause.Occur 的介绍</title><link>http://blog.csdn.net/lgjlry/archive/2009/03/24/4020398.aspx</link><wfw:comment>http://blog.csdn.net/lgjlry/comments/4020398.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/lgjlry/comments/commentRss/4020398.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4020398</trackback:ping><description>这里需要注意的就是BooleanClause.Occur[]数组,它表示多个条件之间的关系,BooleanClause.Occur.MUST表示and,BooleanClause.Occur.MUST_NOT表示not,BooleanClause.Occur.SHOULD表示or. &lt;img src =&quot;http://blog.csdn.net/lgjlry/aggbug/4020398.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/lgjlry/236629863/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/lgjlry/236629863/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Tue, 24 Mar 2009 23:15:00 +0800</pubDate><author>liuguangjie</author><comments>http://blog.csdn.net/lgjlry/archive/2009/03/24/4020398.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/lgjlry/archive/2009/03/24/4020398.aspx</guid><dc:creator>liuguangjie</dc:creator><fs:srclink>http://blog.csdn.net/lgjlry/archive/2009/03/24/4020398.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/lgjlry/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/lgjlry/~1189344/236629863/1189323</fs:itemid></item><item><title>lucene 多域搜索</title><link>http://blog.csdn.net/lgjlry/archive/2009/03/24/4020226.aspx</link><wfw:comment>http://blog.csdn.net/lgjlry/comments/4020226.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/lgjlry/comments/commentRss/4020226.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4020226</trackback:ping><description>import java.io.IOException;import org.apache.lucene.analysis.standard.StandardAnalyzer;import org.apache.lucene.document.Document;import org.apache.lucene.document.Field;import org.apache.lucene.index.CorruptIndexException;import org.apache.lucene.index.IndexWriter;import org.apache.lucene.index.Term;import org.apache.lucene.queryParser.MultiFieldQueryParser;import org.apache.lucene.search.BooleanClause;import org.apache.lucene.search.BooleanQuery;import org.apache.lucene.s&lt;img src =&quot;http://blog.csdn.net/lgjlry/aggbug/4020226.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/lgjlry/236629864/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/lgjlry/236629864/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Tue, 24 Mar 2009 22:36:00 +0800</pubDate><author>liuguangjie</author><comments>http://blog.csdn.net/lgjlry/archive/2009/03/24/4020226.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/lgjlry/archive/2009/03/24/4020226.aspx</guid><dc:creator>liuguangjie</dc:creator><fs:srclink>http://blog.csdn.net/lgjlry/archive/2009/03/24/4020226.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/lgjlry/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/lgjlry/~1189344/236629864/1189323</fs:itemid></item><item><title>IHttpHandlerFactory and URL Mapping</title><link>http://blog.csdn.net/lgjlry/archive/2009/03/20/4008422.aspx</link><wfw:comment>http://blog.csdn.net/lgjlry/comments/4008422.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/lgjlry/comments/commentRss/4008422.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4008422</trackback:ping><description>&lt;br /&gt;There are many ways to create a complete URL Mapping solution. But most of the serious URL Mapping code, utilizes something a little more advanced than the urlMapping node in Web.Config.&lt;br /&gt;The next level up from my previous post, needs to take you into the world of HTTP Handlers. I did not have all the time in the world on this post, so I have decided to put some simple elements of the solution, rather than a complete tutorial. I trust using any keywords from here, you will find lots of&lt;img src =&quot;http://blog.csdn.net/lgjlry/aggbug/4008422.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/lgjlry/236629865/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/lgjlry/236629865/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Sat, 21 Mar 2009 00:28:00 +0800</pubDate><author>liuguangjie</author><comments>http://blog.csdn.net/lgjlry/archive/2009/03/20/4008422.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/lgjlry/archive/2009/03/20/4008422.aspx</guid><dc:creator>liuguangjie</dc:creator><fs:srclink>http://blog.csdn.net/lgjlry/archive/2009/03/20/4008422.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/lgjlry/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/lgjlry/~1189344/236629865/1189323</fs:itemid></item><item><title>意识核心</title><link>http://blog.csdn.net/lgjlry/archive/2009/03/20/4008377.aspx</link><wfw:comment>http://blog.csdn.net/lgjlry/comments/4008377.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/lgjlry/comments/commentRss/4008377.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4008377</trackback:ping><description>&lt;br /&gt; 
2007年有幸参加了OCT创意节的设计论坛，听取了日本著名设计师深泽直人的《意识的核心》讲座，深有体会，感概良多，尤对其“设计来源生活中”这一观点感同身受，非常欣赏他敏锐的观察视角 关注生活细节的心，再一次说明：好的设计师一定是一个热爱生活的人。&lt;br /&gt;　　今日再搜索于网络，也找到了当日他演讲的一些文字稿，特与大家共同分享。同时，也摘录一句所谓“核心”箴言与大家共勉之：&lt;br /&gt;　　我自己觉得与其说是设计新的东西，倒不如说是找一个实际上已经存在，但是你还没有真正发现的东西。——深泽直人　　我对于此言的理解是，“实际存在”应当为对于生活认知一个提炼后产生的很成熟的想法和观点，而非随意生活化。那就需要我们“真正发现”。属于设计中的“超现实主义”，其真正始祖，便是画家达利。　　上图为深泽直人（Naoto Fukasawa）的 ±0 的2.5R系列新产品，钟和温度湿度计。(关于R2.5，不仅仅是2.5R系列产品是2.5的圆角，Naoto Fukasawa 的很多作品都用R2.5，R2.5按 Naoto Fukasawa 介绍，这是一种人们很熟悉的弧度，是木材自然的弧度。&lt;img src =&quot;http://blog.csdn.net/lgjlry/aggbug/4008377.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/lgjlry/236629866/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/lgjlry/236629866/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Sat, 21 Mar 2009 00:17:00 +0800</pubDate><author>liuguangjie</author><comments>http://blog.csdn.net/lgjlry/archive/2009/03/20/4008377.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/lgjlry/archive/2009/03/20/4008377.aspx</guid><dc:creator>liuguangjie</dc:creator><fs:srclink>http://blog.csdn.net/lgjlry/archive/2009/03/20/4008377.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/lgjlry/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/lgjlry/~1189344/236629866/1189323</fs:itemid></item><item><title>IHttpHandler 概述</title><link>http://blog.csdn.net/lgjlry/archive/2009/03/20/4008359.aspx</link><wfw:comment>http://blog.csdn.net/lgjlry/comments/4008359.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/lgjlry/comments/commentRss/4008359.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4008359</trackback:ping><description>&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;可能和我一样，很多Asp.Net开发人员都有过Asp的背景，以至于我们在开发程序的时候，通常都是在“页面级”上思考，也就是说我们现在正在做的这个页面应该有什么样的功能，是进行一个问卷调查还是一个数据库查询等等。而很少在“请求级”思考，考虑有没有办法来通过编码的方式来操控一个Http请求。&lt;br /&gt;&lt;br /&gt;实际上，Framework提供了一系列的接口和类，允许你对于Http请求进行编程，而实现这一操作的一个主要的接口，就是 IHttpHandler(另一个是IHttpModule)。&lt;br /&gt;&lt;br /&gt;应该还记得第一节中我们提到过 ISAPI，它根据文件名后缀把不同的请求转交给不同的处理程序。但是仔细看看就会发现：几乎一大半的文件都交给 aspnet_isapi.dll 去处理了。很明显，aspnet_isapi.dll 不可能对每种文件采用同一种方式处理，那么 aspnet_isapi.dll 是如何更进一步处理不同的文件，交由谁去处理呢？为了搞清楚这个问题，我们需要打开机器上C:\WINDOWS\Microsoft.NET\ Framew&lt;img src =&quot;http://blog.csdn.net/lgjlry/aggbug/4008359.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/lgjlry/236629867/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/lgjlry/236629867/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Sat, 21 Mar 2009 00:14:00 +0800</pubDate><author>liuguangjie</author><comments>http://blog.csdn.net/lgjlry/archive/2009/03/20/4008359.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/lgjlry/archive/2009/03/20/4008359.aspx</guid><dc:creator>liuguangjie</dc:creator><fs:srclink>http://blog.csdn.net/lgjlry/archive/2009/03/20/4008359.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/lgjlry/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/lgjlry/~1189344/236629867/1189323</fs:itemid></item><item><title>权限管理</title><link>http://blog.csdn.net/lgjlry/archive/2009/03/19/4006146.aspx</link><wfw:comment>http://blog.csdn.net/lgjlry/comments/4006146.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/lgjlry/comments/commentRss/4006146.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4006146</trackback:ping><description>权限管理一直是比较麻烦处理的问题，每个页面都需要写权限代码，增加了重复的工作量，因此想做一个权限控制的模块，在请求处理的时候截获请求的页面是否允许当前用户访问，如果允许则访问该页面，不允许则调转到错误页面。在运行的时候，出现问题，总是在不断的请求错误页面，不知如何解决。探索中，希望高手走过留言，多支招。using System;using System.Collections.Generic;using System.Text;using System.Web;using BusinessLogic.UserRightManager;using System.Configuration;namespace BusinessLogic.UserRightManagerModule{    public class RightModule:System.Web.IHttpModule    {        private Dictionary&lt;img src =&quot;http://blog.csdn.net/lgjlry/aggbug/4006146.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/lgjlry/236629868/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/lgjlry/236629868/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Fri, 20 Mar 2009 07:59:00 +0800</pubDate><author>liuguangjie</author><comments>http://blog.csdn.net/lgjlry/archive/2009/03/19/4006146.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/lgjlry/archive/2009/03/19/4006146.aspx</guid><dc:creator>liuguangjie</dc:creator><fs:srclink>http://blog.csdn.net/lgjlry/archive/2009/03/19/4006146.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/lgjlry/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/lgjlry/~1189344/236629868/1189323</fs:itemid></item><item><title>Global 事件</title><link>http://blog.csdn.net/lgjlry/archive/2009/03/18/4002023.aspx</link><wfw:comment>http://blog.csdn.net/lgjlry/comments/4002023.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/lgjlry/comments/commentRss/4002023.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4002023</trackback:ping><description>&lt;br /&gt;1  Application_Start（程序启动）&lt;br /&gt;2.Application_BeginRequest（开始请求）&lt;br /&gt;3.Application_AuthenticateRequest(验证鉴别身份，身份通过后授权）&lt;br /&gt;4.Application_AuthorizeRequest（授权）&lt;br /&gt;5.Application_ResolveRequestCache（授权后读取缓存服务）&lt;br /&gt;6.Application_AcquireRequestState（获得请求状态）&lt;br /&gt;7.Application_PreRequestHandlerExecute（请求执行）&lt;br /&gt;8.Application_PostRequestHandlerExecute（事件执行后触发）&lt;br /&gt;9.Application_ReleaseRequestState（执行完所有事件后触发）&lt;br /&gt;10.Application_UpdateRequestCache（更新程序请求的缓存数据）&lt;br /&gt;11.Application_EndRequest&lt;img src =&quot;http://blog.csdn.net/lgjlry/aggbug/4002023.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/lgjlry/236629869/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/lgjlry/236629869/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Thu, 19 Mar 2009 01:38:00 +0800</pubDate><author>testboy</author><comments>http://blog.csdn.net/lgjlry/archive/2009/03/18/4002023.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/lgjlry/archive/2009/03/18/4002023.aspx</guid><dc:creator>testboy</dc:creator><fs:srclink>http://blog.csdn.net/lgjlry/archive/2009/03/18/4002023.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/lgjlry/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/lgjlry/~1189344/236629869/1189323</fs:itemid></item><item><title>code smith 使用介绍</title><link>http://blog.csdn.net/lgjlry/archive/2009/03/08/3970327.aspx</link><wfw:comment>http://blog.csdn.net/lgjlry/comments/3970327.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/lgjlry/comments/commentRss/3970327.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=3970327</trackback:ping><description>利用CodeSmith为SQL Server CE生成项目代码
Posted on 2008-03-29 12:55 黎波 阅读(3700) 评论(4)  编辑 收藏 网摘 所属分类: SQL Server Compact 、Mobile Tools

摘要：CodeSmith是很多.NET开发人员至爱的开发辅助工具，它能够使开发人员从大量枯燥无味的重复编码中解脱，集中精力解决实际业务问题和技术问题。本文将介绍如何将CodeSmith用于Windows Mobile项目，以SQL Server Compact Edition数据库作为代码生成的依据生成项目代码。

什么是代码生成器？

代码产生器是产生式编程(Generative Programming)在实际应用中的一种产物。它以系统建模为基础，通过抽象各种系统间的共性与特性，利用代码模板和组件重用技术，自动产生满足客户需求的软件产品。从而降低成本，减少软件推向市场的时间，并且保证更好的产品质量。最终取得规模经济和范围经济的优点。2004年我还在大学读书的时候曾开发过一个基于模板引擎的代码生成器——RapidTie&lt;img src =&quot;http://blog.csdn.net/lgjlry/aggbug/3970327.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/lgjlry/236629870/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/lgjlry/236629870/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Mon, 09 Mar 2009 06:32:00 +0800</pubDate><author>testboy</author><comments>http://blog.csdn.net/lgjlry/archive/2009/03/08/3970327.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/lgjlry/archive/2009/03/08/3970327.aspx</guid><dc:creator>testboy</dc:creator><fs:srclink>http://blog.csdn.net/lgjlry/archive/2009/03/08/3970327.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/lgjlry/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/lgjlry/~1189344/236629870/1189323</fs:itemid></item></channel></rss>