DbConnectionPoolOptions.cs 2.4 KB

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