2011-04-05 72 views
0

我正在使用來自Microsoft.Practices.EnterpriseLibrary的數據訪問應用程序塊,並且找不到此老化組件的聯機文檔。在Microsoft.Practices.EnterpriseLibrary中配置連接池

我遇到連接池問題,我想查看/調整它的設置。然而,在配置連接字符串時,似乎沒有提到這一點,這是我期望配置的位置。

<connectionString name="Sql Connection String"> 
    <parameters> 
     <parameter name="database" value="DB name" isSensitive="false" /> 
     <parameter name="password" value="xxx" isSensitive="true" /> 
     <parameter name="server" value="xxx.xxx.xxx.xxx" isSensitive="false" /> 
     <parameter name="user id" value="xxxxxxxx" isSensitive="false" /> 
    </parameters> 
</connectionString> 

任何人都可以告訴我如何配置此組件的連接池嗎?我甚至是正確的配置文件中配置?

我知道有一個Windows Forms工具可用於與Microsoft.Practices.EnterprisesLibrary相關,但我無法訪問此內容,所以我需要直接配置文件解決方案。

回答

1

如果您使用的是基於文件的配置則Enterprise Library使用的connectionStrings配置部分:

<connectionStrings> 

    <add 
     name="Sql Connection String" 
     providerName="System.Data.SqlClient" 
     connectionString="server=xxx.xxx.xxx.xxx;database=DB name; 
Integrated Security=false;User ID=xxxxxxxx;Password=xxx;Pooling=true; 
Min Pool Size=5;Max Pool Size=20;" /> 

</connectionStrings> 

如果您正在使用fluent configuration它會是這個樣子:

var builder = new ConfigurationSourceBuilder(); 

builder.ConfigureData() 
     .ForDatabaseNamed("Sql Database") 
     .ThatIs.ASqlDatabase() 
     .WithConnectionString("server=xxx.xxx.xxx.xxx;database=DB name; 
Integrated Security=false;User ID=xxxxxxxx;Password=xxx;Pooling=true; 
Min Pool Size=5;Max Pool Size=20;") 
     .AsDefault(); 

var configSource = new DictionaryConfigurationSource(); 
builder.UpdateConfigurationWithReplace(configSource); 
EnterpriseLibraryContainer.Current 
    = EnterpriseLibraryContainer.CreateDefaultContainer(configSource); 
+0

這是在同部分作爲我提供的例子,或者它是在.NET「默認」connectionStrings配置節?如何告訴企業圖書館使用哪一個?是否有層次結構? – 2011-04-07 07:40:58

+0

這似乎工作,雖然我還沒有能夠完全確認它迄今。 – 2011-05-03 16:29:54

+0

當我對服務進行此更改時,CLR事件探查器顯示了更健康的內存時間線。 – 2012-01-31 16:34:56