BlogEngine.Net简介
本系列文章介绍的是BlogEngine.Net 2.6版本,这是官方前不久发布的一个版本。大家可以在官网上下载最新的源代码和相应的说明文档。此外,您还可以在它的官方站点上了解更多的安装和一些扩展开发等问题,还可以下载一些开发者已经做好的皮肤。讲解代码使用C#,基于.NetFramework4.0。
关于作者的一些话:
1、感谢http://www.cnblogs.com/Thriving-Country/archive/2008/11/05/1326334.html:轨迹2003 的博客,这是我在博客园看到唯一一篇介绍BlogEngine比较前面的.
2、鉴于有关BlogEngine的分析文章比较缺乏,我很乐意分享我对BlogEngine的看法.
3、作者也有很多看的不明白的地方,希望借助博客园的平台,大家一起来讨论您对BlogEngine的理解.
4、作者由于文笔功底欠佳,忒没自信,BlogEngine的分享将大量采用通俗易懂Demo来展现BlogEngine的健壮之处.
首先让我们看看在BlogEngine.Net中都提供了什么提供程序及怎样应用ProviderBase来完成提供程序的。
1、提供基于XMLProvider(就是用XML文档存储数据)的方案.
2、提供基于DbProvider(就是用数据库储存数据)的方案.
3、提供自己的提供程序(通过继承微软的MembershipProvider提供程序)实现成员管理.
4、提供自己的提供程序(通过继承微软的RoleProvider提供程序)实现角色管理.
5、提供基于数据库管理文件的方案.
6、提供基于XML管理文件的方案.
7、提供缓存管理.
接下来我就来一一介绍,它们都是怎么实现的.
一、BlogEngine的数据、角色、成员、文件提供程序(图)
大家先来看一下完整的继承关系图(Visual studio 2010 自动生成的)
看的很晕吧! (图1)
在看一张简单点的吧!
(图2)
从上图我们可以看出BlogEngine2.6基于微软ProviderBase都实现什么功能呢?
1.数据储存(官方都叫提供程序)
2.用户管理(官方叫成员提供程序)
3.用户的权限管理(官方叫角色提供程序)
4.文件管理(由于图片比较大,可以看图1)
二、BlogEngine的Providers具体实现分析
强烈建议:在看BlogEngine2.6的Providers之前,建议大家先看看我弄的一个简化版.
Provider提供者模式下载(DownLoad ClickHere!)
下面我们来说说BlogEngine中的Provider吧
BlogEngine.Net中的数据存储主要是应用Provider模式实现的,那么首先让我们认识一下Provider模式。
一、Provider 模式应该是一种设计模式.先看看ASP.NET4.0中的提供程序模型.
1、成员资格(MembershipProvider)
2、角色管理(RoleProvider)
3、站点导航
4、个性化
5、健康监控Web事件
6、Web Part 个性化
7、配置文件保护
(如何设置提供程序以使用SQL server7.0 2000、2005 或2008)大家只要配置数据库即可,具体怎么操作,我就不介绍了。
二、在.Net中要实现这种模式是相当的简单,因为它已经为我们实现了一部分,我们只需实现以下三步即可:
1、定义一个类,抽象出我们所需要的操作(例如:添加、删除、修改,具体让子类去实现),它的基类为ProviderBase
2、实现一个Section,用来从配置文件中读取Provider的相关配置,该类继承于ConfigurationSection
3、在定义一个类,该类继承ProviderCollection,用来管理Provider.
接下来你在看看BlogEngine中的内容你就明白,也就是这么回事嘛!