Enterprise Library 5 Fluent 配置 API
如何使用流式配置 API 与数据访问应用程序块。
引言
企业库 5 的一项新改进是新的流式配置 API。 在本文中,我将解释该主题,然后展示如何使用流式配置 API 与数据访问应用程序块。
流式配置 API
有时我们希望在运行时配置应用程序,而无需使用配置文件,例如 web.config 或 app.config。 为了实现这一点,我们可以使用随企业库 5 发布的新的流式配置 API。 该 API 可用于配置核心、检测和所有应用程序块,但不包括验证和策略注入应用程序块。 此外,如果您已经在 config 文件中拥有企业库配置,则可以将运行时创建的配置合并到其中或更新它。
使用流式配置 API
为了使用流式配置 API,您需要创建一个 ConfigurationSourceBuilder
,它是构建运行时配置的主要类。 企业库中的每个功能,例如应用程序块,都为此类提供了扩展方法,从而使我们能够以相同的方式使用该 API。 扩展方法的使用非常直观和简单。 ConfigurationSourceBuilder
类位于 Microsoft.Practices.EnterpriseLibrary.Common.Configuration DLL 中,您需要引用它。 为了使用每个应用程序块的流式配置扩展方法,您需要添加对该应用程序块 DLL 的引用。
DAAB 流式配置 API 示例
让我们看一个 DAAB 流式配置 API 示例
public void ConfigureDAAB()
{
var configBuilder = new ConfigurationSourceBuilder();
configBuilder.ConfigureData()
.ForDatabaseNamed("School")
.ThatIs
.ASqlDatabase()
.WithConnectionString(ConnectionString)
.AsDefault();
var configSource = new DictionaryConfigurationSource();
configBuilder.UpdateConfigurationWithReplace(configSource);
EnterpriseLibraryContainer.Current =
EnterpriseLibraryContainer.CreateDefaultContainer(configSource);
}
您可以看到,我创建了一个 ConfigurationSourceBuilder
实例。
然后我使用流式配置 API 来配置它。 我指示数据配置为 SQL Server 提供程序(使用 ASqlDatabase
方法),为其提供连接字符串,并将其设置为我的默认数据库。
然后我创建一个 DictionaryConfigurationSource
,它保存我的 DAAB 配置,当我使用 UpdateConfigurationWithReplace
方法来更新配置时,或者如果它存在,则替换它。
最后,我设置 EnterpriseLibraryContainer
从该源进行配置。
摘要
企业库 5 附带了一个新的流式配置 API,它使我们能够在运行时配置 EnterpriseLibraryContainer
。
该 API 非常直观且易于学习。 我已经在上面展示了一个如何为数据访问应用程序块配置默认数据库的简单示例。