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

推荐订阅源

博客园 - 三生石上(FineUI控件)
O
OpenAI News
WordPress大学
WordPress大学
P
Proofpoint News Feed
J
Java Code Geeks
G
Google Developers Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The Register - Security
The Register - Security
Engineering at Meta
Engineering at Meta
H
Help Net Security
人人都是产品经理
人人都是产品经理
Vercel News
Vercel News
N
Netflix TechBlog - Medium
F
Full Disclosure
U
Unit 42
Latest news
Latest news
N
News and Events Feed by Topic
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
I
InfoQ
L
LINUX DO - 最新话题
T
Threat Research - Cisco Blogs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
爱范儿
爱范儿
K
Kaspersky official blog
Google Online Security Blog
Google Online Security Blog
小众软件
小众软件
I
Intezer
V
V2EX
S
SegmentFault 最新的问题
C
CERT Recently Published Vulnerability Notes
阮一峰的网络日志
阮一峰的网络日志
Security Archives - TechRepublic
Security Archives - TechRepublic
Recent Announcements
Recent Announcements
C
Check Point Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Recorded Future
Recorded Future
博客园 - Franky
Project Zero
Project Zero
S
Securelist
Attack and Defense Labs
Attack and Defense Labs
Spread Privacy
Spread Privacy
The Hacker News
The Hacker News
T
The Blog of Author Tim Ferriss
Google DeepMind News
Google DeepMind News
aimingoo的专栏
aimingoo的专栏
博客园 - 叶小钗
NISL@THU
NISL@THU
云风的 BLOG
云风的 BLOG
S
Secure Thoughts
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed

博客园 - 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

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