1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
//------------------------------------------------------------------------------
// <copyright file="DbConnectionPoolGroupOptions.cs" company="Microsoft">
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
// <owner current="true" primary="true">Microsoft</owner>
//------------------------------------------------------------------------------
namespace System.Data.ProviderBase {
using System;
using System.Diagnostics;
internal sealed class DbConnectionPoolGroupOptions {
private readonly bool _poolByIdentity;
private readonly int _minPoolSize;
private readonly int _maxPoolSize;
private readonly int _creationTimeout;
private readonly TimeSpan _loadBalanceTimeout;
private readonly bool _hasTransactionAffinity;
private readonly bool _useLoadBalancing;
public DbConnectionPoolGroupOptions(
bool poolByIdentity,
int minPoolSize,
int maxPoolSize,
int creationTimeout,
int loadBalanceTimeout,
bool hasTransactionAffinity) {
_poolByIdentity = poolByIdentity;
_minPoolSize = minPoolSize;
_maxPoolSize = maxPoolSize;
_creationTimeout = creationTimeout;
if (0 != loadBalanceTimeout) {
_loadBalanceTimeout = new TimeSpan(0, 0, loadBalanceTimeout);
_useLoadBalancing = true;
}
_hasTransactionAffinity = hasTransactionAffinity;
}
public int CreationTimeout {
get { return _creationTimeout; }
}
public bool HasTransactionAffinity {
get { return _hasTransactionAffinity; }
}
public TimeSpan LoadBalanceTimeout {
get { return _loadBalanceTimeout; }
}
public int MaxPoolSize {
get { return _maxPoolSize; }
}
public int MinPoolSize {
get { return _minPoolSize; }
}
public bool PoolByIdentity {
get { return _poolByIdentity; }
}
public bool UseLoadBalancing {
get { return _useLoadBalancing; }
}
}
}
|