转载请注明出处: http://blog.csdn.net/doriandeng/archive/2007/09/27/1802321.aspx
Enterprise Library 内核提供服务,例如度量和配置,以及所有 Enterprise Library 应用程序块所依赖的内核。内核功能包含在程序集
Microsoft.Practices.EnterpriseLibrary.Common.dll
中。
有二个配置节与 Enterprise Library 内核关联。他们是 instrumentationConfiguration 和 enterpriseLibrary.ConfigurationSource 节。这些节定义了哪种度量节在应用程序中可用,以及哪个数据源将被用于访问应用程序中的配置信息。下列 XML 代码展示了配置节定义,它定义了那些配置节的位置。这些定义将被定义在应用程序配置文件的 <configSections> 节中。
例 2.15. XML
<configSections> <section name="instrumentationConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.Configuration.InstrumentationConfigurationSection, Microsoft.Practices.EnterpriseLibrary.Common, Version=3.1.0.0, Culture=neutral, PublicKeyToken=null" /> <section name="enterpriseLibrary.ConfigurationSource" type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ConfigurationSourceSection, Microsoft.Practices.EnterpriseLibrary.Common, Version=3.1.0.0, Culture=neutral, PublicKeyToken=null" /> </configSections>
如果在配置文件中没有 enterpriseLibrary.ConfigurationSource 节,一个 SystemConfigurationSource
类的实例将成为应用程序的配置源。这意味着当应用程序使用静态工厂时,它从应用程序的配置文件中获取配置信息。
enterpriseLibrary.ConfigurationSource 元素
enterpriseLibrary.ConfigurationSource 元素指定了应用程序将使用的配置源。这个元素不是必须的,如果省略,应用程序将使用 SystemConfigurationSource
类的实例。
下列章节描述了enterpriseLibrary.ConfigurationSource 元素的属性和子元素。
属性
下表列出了enterpriseLibrary.ConfigurationSource 元素的属性
表 2.2. enterpriseLibrary.ConfigurationSource 属性
属性 | 描述 |
---|---|
selectedSource | 用于此应用程序的配置源,它必须是列出在 <sources>节中的名称。此属性是必须的。 |
sources 元素
sources 元素是 enterpriseLibrary.ConfigurationSource元素的子元素,它列出了应用程序可以使用的配置源。此元素是必须的。
add 元素
add 元素是 sources 元素的子元素。它添加配置源的名称。此元素不是必须的,可以有多个 add 元素。下表列出了 add 元素的属性。
表 2.3. add 元素的属性
属性 | 描述 |
---|---|
name | 配置源的名称。在节中,名称必须是唯一的。此属性是必须的。 |
type | 实现 IConfigurationSource 接口的类的类型名称。 |
filePath | 指向配置文件路径。如果配置源是一个文件的话,此属性是必须的。 |
connectionstring | 用于保存配置信息的 SQL Server 数据库的 SQL Server 连接字符串。 |
getStoredProcedure | 拥有配置信息的数据库中的一个存储过程的名称。这是当应用程序获取配置节时要调用的存储过程。如果应用程序使用一个 SQL Server 数据库的存储过程来获取配置信息的话,此属性才是必须的。 |
setStoredProcedure | 拥有配置信息的数据库中的一个存储过程的名称。这是当应用程序设置配置节时要调用的存储过程。如果应用程序使用一个 SQL Server 数据库的存储过程来设置配置信息的话,此属性才是必须的。 |
refreshStoredProcedure | 拥有配置信息的数据库中的一个存储过程的名称。这是当应用程序刷新配置节时要调用的存储过程。如果应用程序使用一个 SQL Server 数据库的存储过程来刷新配置信息的话,此属性才是必须的。 |
removeStoredProcedure | 拥有配置信息的数据库中的一个存储过程的名称。这是当应用程序移除配置节时要调用的存储过程。如果应用程序使用一个 SQL Server 数据库的存储过程来移除配置信息的话,此属性才是必须的。 |
instrumentationConfiguration 子元素
instrumentationConfiguration 元素使不同的度量类型可用或不可用。此元素不是必须的。如果此元素不包含在配置源中,则所有度量是不可用的。下表列出了 instrumentationConfiguration 元素的属性。
表 2.4. instrumentationConfiguration 属性
属性 | 描述 |
---|---|
performanceCountersEnabled | 指定被应用程序使用的应用程序块是否将被写到性能计数器中。可能值是 true或 false ,默认值是 false 。此属性不是必须的。 |
eventLoggingEnabled | 指定被应用程序使用的应用程序块是否将被写到事件日志中。可能值是 true或 false,默认值是 false。此属性不是必须的。 |
wmiEnabled | 指定被应用程序使用的应用程序块是否将被写到Windows 管理度量(WMI)中。可能值是 true或 false,默认值是 false。此属性不是必须的。 |