DotNetNuke的配置

配置
Web.config
文件包含了许多配置节来使DataProvider模式起作用。第一个配置节注册了这些提供者(Providers)和他们相应的配置节处理方法(ConfigurationSectionHandlers)。尽管在这个例子中我们仅仅展示了DotNetNuke配置节组中的一个,我们可以通过类似的方法配置其它的提供者(也就是抽象验证提供者等等)。但有一点是必须保证的,那就是web.config文件中必须实现这些配置节。

 

    <configSections>

        <sectionGroup name="dotnetnuke">

            <section name="data" type="DotNetNuke.ProviderConfigurationHandler, DotNetNuke" />

        sectionGroup>

    configSections>

 

下面的配置节是为老式的数据访问方法的模块而保留的:

    <appSettings>

        <add key="connectionString" value="Server=localhost;Database=DotNetNuke;uid=sa;pwd=;" />

    appSettings>

 

如上最终实现了大量的提供者模块。配置组中的配置节名称需要有一个默认的提供者(defaultProvider)属性,这个属性依赖于下面的集合中的特定的实例。在从一个provider转变为另一个provider的时候defaultProvider被用来作为单一的转换器。如果没有指定默认的provider,这个配置集合中的第一项就被认为是默认的。

       配置节也包含了一个集合说明,确定了所有的实现都是唯一的。每一个provider都必须至少包含nametypeproviderPath属性(name不是特定的但是通常相应的类名,type指定了provider相关的强类名,providerPath指定了provider的特殊资源例如脚本在哪里)。每一个提供者同样可以有多个自定义属性。

 

 

    <dotnetnuke>

        <data defaultProvider="SqlDataProvider" >

            <providers>

          <clear/>

                <add name = "SqlDataProvider"

                        type = "DotNetNuke.Data.SqlDataProvider, DotNetNuke.SqlDataProvider"

                        connectionString = "Server=localhost;Database=DotNetNuke;uid=sa;pwd=;"

                        providerPath = "~\database\SqlDataProvider\"

                        objectQualifier = "DotNetNuke"

                        databaseOwner = "dbo"

                />

                <add name = "AccessDataProvider"

                        type = "DotNetNuke.Data.AccessDataProvider, DotNetNuke.AccessDataProvider"

                        connectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;"

                        providerPath = "~\database\AccessDataProvider\"

                        objectQualifier = "DotNetNuke"

                        databaseFilename = "DotNetNuke.mdb"

                />

            providers>

        data>

    dotnetnuke>

 

下面是对providers集合中的节点作用的详细说明。

配置节包含了一个或多个元素。下面的规则应用在处理这些元素的时候:

 

 

1、  声明一个空的不是错误。

2、  Providers继承了父配置中声明的项。

3、  如果某项已经存在了或被继承了再用重新定义那么这是错误的。

4、  一个不存在的项是错误的。

5、  如果一个项被后又被了,然后再这个完全相同的项是可以的(不是错误)。

6、  如果一个项, >,然后再是可以的(不是错误的)。

7、  会清除所有在先前定义的和继承的项。例如:先用声明再用清除那么项就不存在了,而在后再声明的项是不会被清除的。

 

描述

增加一个数据提供者(data provider)。

属性

Name——provider的友好的名称。

Type——一个实现了provider接口的类。这个值是一个程序集的完整的关联。

providerPath——查找provider的特殊资源(如脚本)的路径。

其它name/value对——也许还有一些附加的名称/值对,所有的名称/值对都是provider能够理解的(处理的)。

 

描述

清除一个指定的数据提供者

属性

Name——要清除的provider的友好名称。

 

 

描述

清除所有的继承的提供者。

 

\Components\Provider.vb

 

Provider.vb类提供了所有的实现细节,这些实现包括从web.config文件加载provider的信息以及应用, , 处理的规则(标准)。这是一个通用的(generic)类,它不仅仅适用于数据访问。

 

\Components\DataProvider.vb

 

DataProvider.vb是一个抽象类,这个类包含了DNN的所有的数据访问方法。它包含了一个工厂本身的实例方法(Instance()),它负责在运行时动态加载web.config中描述的合适的程序集。

 

        ' unique provider name used for caching

        Private Const ProviderType As String = "data"

        Private Const ProviderName As String = ""

 

       

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12639172/viewspace-414842/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12639172/viewspace-414842/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值