惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
Blog — PlanetScale
Blog — PlanetScale
腾讯CDC
aimingoo的专栏
aimingoo的专栏
Microsoft Azure Blog
Microsoft Azure Blog
A
About on SuperTechFans
J
Java Code Geeks
G
Google Developers Blog
N
Netflix TechBlog - Medium
Vercel News
Vercel News
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
I
InfoQ
Stack Overflow Blog
Stack Overflow Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
The Blog of Author Tim Ferriss
罗磊的独立博客
GbyAI
GbyAI
小众软件
小众软件
大猫的无限游戏
大猫的无限游戏
WordPress大学
WordPress大学
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - chinachen

查看DLL 版本 平台 x86 x64 MS SQL2008 数据库备份(收集) android 使用sqlite几种方式。 C# 接口 索引 属性 实质及应用 (收集) get set 用法总结 (收集) MVC 资料收集(一) windows运行命令大全 Html:meta标签的奥妙 (收集) - chinachen - 博客园 ASP.NET抓取页面并分析页面数据的研究与探讨。 C#中indexof和substring函数用法 (收集) - chinachen - 博客园 ASP.NET实现回调服务器方法 (收集) 统一过程,敏捷过程,微软过程(收集) HTTP服务器状态代码定义(Status Code Definitions)(收集) Lambda 表达式 源自MSDN 多个表 导出EXCEL 代码 (分享) C# 参考之方法参数关键字:params、ref及out (收集) nchar,char,varchar 与nvarchar区别 (收集) - chinachen 抽象类与接口区别 (收集) virtual 与 Abstract 区别
BlogEngine 深入研究(一) 开篇
chinachen · 2010-03-20 · via 博客园 - chinachen

前段时间因项目需要玩了下开源项目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

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