学习BlogEngine2.6那些事之Providers(一)

 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中的内容你就明白,也就是这么回事嘛!

 

posted @ 2012-05-25 17:46  ben2012  阅读(675)  评论(1编辑  收藏  举报