DOTNETNUKE 配置文件类有:
ProviderConfigurationHandler类
Provider类
ProviderConfiguration类
web.config文件中引用ProviderConfigurationHandler,该类继承.NET FrameWork接口IConfigurationSectionHandler
实现Create方法如下:
主要是使用了ProviderConfiguration得LoadValuesFromConfiguration()方法
该方法主要对Providers hashtable值进行操作,通过读取web.config文件中得<data>子节点值,装载到Providers中
主要代码如下:
当其子节点为“add”时,新建一个Provider实体,并放入Providers 哈西表中。
GetProviderConfiguration(strProvider)方法作用是获取web.config节点信息,并装入到ProviderConfiguration类实体当中。
所以该类的操作都是围绕着providers哈西表来得,即把取得的provider数据都放入该哈西表中。
下面介绍Provider类
其有两个属性:
Public Readonly property Name()as string
public ReadOnly property Type() as string
一个New(XmlattributeCollection)方法
该方法做了一些设置属性值得操作,从XmlattributeCollection中获取值。
并且做了把一些其他该xml属性集合放入到一个NameValueCollection集合当中。
web.config 节点如下:
应用:
以上三个类究竟在一个系统中有什么用呢?我个人理解认为是为了灵活性,我们可以直接在config文件修改provider值,就可实现我们究竟需要使用哪一个provider,而不需要重新编译,对于一个系统比较好维护,灵活性比较高。
设计技术点:
configManager类(Getsection()方法的使用)
IConfigurationSectionHandler接口 - ProviderconfigurationHandler继承该接口
hashtable、NamevalueCollection、XmlattributeCollection、xmlNode类型的使用