问题描述
|
与每次创建DbProviderFactory相比,这种记忆会更快吗?
我不知道线程锁定是否比每次创建DbProviderFactory都要慢。
public abstract class Connections {
private class Memoization
: ConcurrentDictionary<string,Tuple<string,DbProviderFactory>> { }
static Memoization _connectionInfo = new Memoization();
static DbConnection CreateConnection(string connectionStringSettingsName) {
var tmp = _connectionInfo.GetorAdd(connectionStringSettingsName,csn => {
var config = ConfigurationManager.ConnectionStrings[csn];
var factory = DbProviderFactories.GetFactory(config.ProviderName);
var connectionString = config.ConnectionString;
return Tuple.Create(connectionString,factory);
});
var conn = tmp.Item2.CreateConnection();
conn.ConnectionString = tmp.Item1;
return conn;
}
}
更新资料
Memoization
只是a2ѭ。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)