C# 使用自定义配置节访问企业库数据
如何在企业库数据访问中使用外部配置文件中的connectionString 我的app.config:C# 使用自定义配置节访问企业库数据,c#,.net,connection-string,enterprise-library,C#,.net,Connection String,Enterprise Library,如何在企业库数据访问中使用外部配置文件中的connectionString 我的app.config: <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="custom.configuration.server" type="Custom.Framework.Core.Configuration.Server.Custo
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="custom.configuration.server" type="Custom.Framework.Core.Configuration.Server.CustomConfigurationServerSection, Custom.Framework.Core"/>
</configSections>
<custom.configuration.server configSource="custom.configuration.server.config"/>
</configuration>
注:Windows 8.1、Visual Studio 2013、Net Framework 4.5、企业库6.0、C#
*我在“中找到了一些帮助我的东西,这取决于您将外部配置文件放在何处。我需要把它放在一个可以修改它的环境中。以下是代码的一部分:
using System.Configuration;
public class ConfigHelper
{
private const string ConfigPathString = @"{0}\MyApp\App.config";
private string ConfigPath
{
get { return String.Format( ConfigPathString, System.Environment.GetFolderPath( Environment.SpecialFolder.LocalApplicationData ) ); }
}
private Configuration Config
{
get
{
ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
fileMap.ExeConfigFilename = ConfigPath;
return ConfigurationManager.OpenMappedExeConfiguration( fileMap, ConfigurationUserLevel.None );
}
}
public string ReadConString()
{
Configuration cfg = Config;
return cfg.ConnectionStrings.ConnectionStrings[DefaultConnectionStringKey].ConnectionString;
}
}
我提到了外部,但实际上它是同一个项目的一部分。困难在于使用“DatabaseFactory.CreateDatabase(connectionStringName)”企业库,因为它无法识别作为有效connectionString传递的名称。connectionString是我通过string属性使用的自定义类配置,谢谢!所以我误解了你的问题。但您可以使用指定的名称为每个企业和/或产品创建一个“普通”app.config,如“ent1.config”,并使用上面的代码。否则我不知道。我需要这些统一的设置来适应我的项目,无论如何谢谢你的帮助,我会继续搜索!
public void TestMethod1()
{
using (var customDatabase = new CustomDatabase("development"))
{
}
}
using System.Configuration;
public class ConfigHelper
{
private const string ConfigPathString = @"{0}\MyApp\App.config";
private string ConfigPath
{
get { return String.Format( ConfigPathString, System.Environment.GetFolderPath( Environment.SpecialFolder.LocalApplicationData ) ); }
}
private Configuration Config
{
get
{
ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
fileMap.ExeConfigFilename = ConfigPath;
return ConfigurationManager.OpenMappedExeConfiguration( fileMap, ConfigurationUserLevel.None );
}
}
public string ReadConString()
{
Configuration cfg = Config;
return cfg.ConnectionStrings.ConnectionStrings[DefaultConnectionStringKey].ConnectionString;
}
}