BlogEngine 深入研究(一) 开篇

前段时间因项目需要玩了下开源项目BlogEngine  。。。觉得这东西写的是很不错的,

现在空闲下了一点,觉得应该好好深入研究和总结下,与大家一起分享一起进步。

 

现在已经是1.6版本了,源码下载地址 http://blogengine.codeplex.com/SourceControl/list/changesets   点击下载

 

 

 BlogEngine是个单人博客,以XML作为数据存储,所以部署起来很方便的。

(我现在正把它改成多人的,作为学习,加深理解)

 不多说了,直接正题吧。相关BlogEngine介绍信息可以问下google。

 

为了调试方便 ,先把dbProvider 改成SQLServer,就是说数据存储在数据库中,不再存储在XML里。

修改方法: 源码里有个setup文件夹,看下就明白了,用源码提供SQL语句建好数据库,然后把文件夹下的web.config 覆盖现在的webconfig.

OK 了, 运行下,现在博客系统的数据是就可以存储在数据库中了。

 

OK  看下表结构:

 

表结构还是蛮简单的, Post(博文,类似博客园随笔) 主表 , 表结构命名也是很规范的,顾名就是其意。我就不细说了。


后台的数据存储  DAO(看图) 

 

 与数据库存取数据就是BlogProvider.cs提供接口的。

BlogProvider是个抽象类, 是所有数据存储的provider。 DbBlogProvider继承了这个类,override实现下其方法就OK 了。

当然可以改变下配置(配置在web。config里) ,就可以用XML存储数据了。

这里用到了微软的provider factory,就是可以为不同的数据库提供不同数据provider,例如MS SQL, Oracle 等。。详细可以信息可以问下google。我就不多说了。一般项目中用的还是比较少的。只是作为一种解决方案存在。

 DbBlogProvider  就是到写SQL层了。。。一看就比较明了了。。

 

OK    下篇写BlogEngine  用到的Mship 和webparts

 

欢迎大家来一块讨论学习。 

posted @ 2010-03-20 15:49  chinachen  阅读(1977)  评论(8编辑  收藏  举报