ServiceClientFactory.cs 968 B

123456789101112131415161718192021222324252627282930313233343536
  1. /*
  2. * Copyright (C) Alibaba Cloud Computing
  3. * All rights reserved.
  4. *
  5. * 版权所有 (C)阿里云计算有限公司
  6. */
  7. using System.Diagnostics;
  8. using System.Net;
  9. using Aliyun.OSS.Common;
  10. using Aliyun.OSS.Common.Communication;
  11. namespace Aliyun.OSS.Util
  12. {
  13. internal static class ServiceClientFactory
  14. {
  15. static ServiceClientFactory()
  16. {
  17. ServicePointManager.Expect100Continue = true;
  18. ServicePointManager.DefaultConnectionLimit = ClientConfiguration.ConnectionLimit;
  19. }
  20. public static IServiceClient CreateServiceClient(ClientConfiguration configuration)
  21. {
  22. Debug.Assert(configuration != null);
  23. var retryableServiceClient =
  24. new RetryableServiceClient(ServiceClient.Create(configuration))
  25. {
  26. MaxRetryTimes = configuration.MaxErrorRetry
  27. };
  28. return retryableServiceClient;
  29. }
  30. }
  31. }