2.7 用于 Enterprise Library 内核的源模式

来源:互联网 发布:打榜软件 编辑:程序博客网 时间:2024/05/16 19:52
版权所有(c) 2007  Dorian Deng。署名 共享 非商用。
转载请注明出处: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 指定被应用程序使用的应用程序块是否将被写到性能计数器中。可能值是 truefalse ,默认值是 false 。此属性不是必须的。 eventLoggingEnabled 指定被应用程序使用的应用程序块是否将被写到事件日志中。可能值是 truefalse,默认值是 false。此属性不是必须的。 wmiEnabled 指定被应用程序使用的应用程序块是否将被写到Windows 管理度量(WMI)中。可能值是 truefalse,默认值是 false。此属性不是必须的。