2013-07-30 42 views
0

这可能是一个简单的问题。有没有什么办法可以在数据库跟踪侦听器中以编程方式设置databaseInstanceName?由于我的应用程序与不同的数据库进行交互(可以说在connectionString标记中,我有3个连接字符串指向不同的数据库),所以我有一个要求将数据库中的异常记录到相应的数据库中。我没有supoosed创建一个单独的数据库日志记录。如何在C#代码中的数据库跟踪监听器中设置databaseInstanceName?

有没有办法?

回答

0

使用流畅API来配置企业库...

var configurationSourceBuilder = new ConfigurationSourceBuilder(); 

// do other configuration here 

configurationSourceBuilder 
    .ConfigureLogging() 
     .LogToCategoryNamed("Category") 
      .SendTo.Database("Database Trace Listener") 
       .UseDatabase("DatabaseInstance"); 

// or here 

var configurationSource = new DictionaryConfigurationSource(); 
configurationSourceBuilder.UpdateConfigurationWithReplace(configurationSource); 
EnterpriseLibraryContainer.Current = EnterpriseLibraryContainer.CreateDefaultContainer(configurationSource); 

如果你有三个连接字符串的原因是你的程序以支持三种不同的环境中运行(开发/测试/生产?) ,更好的选择可能是改为使用单个连接字符串。然后部署为每个环境定制的配置文件,以便代码对于所有环境都是相同的。

+0

嘿@Tim B.我在上面的代码中添加了.WithOptions.SetAsDefaultCategory(),它开始工作。非常感谢 :-) –

相关问题