BlobClientSingleton.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using Microsoft.WindowsAzure.Storage;
  2. using Microsoft.WindowsAzure.Storage.Blob;
  3. using System;
  4. namespace TEAMModelOS.SDK.Module.AzureBlob.Configuration
  5. {
  6. public sealed class BlobClientSingleton
  7. {
  8. private static string _connectionString;
  9. private CloudBlobClient BlobClient;
  10. private BlobClientSingleton() { }
  11. public CloudBlobClient GetBlobClient()
  12. {
  13. if (BlobClient != null)
  14. {
  15. return BlobClient;
  16. }
  17. else
  18. {
  19. getInstance(_connectionString);
  20. return BlobClient;
  21. }
  22. }
  23. public static BlobClientSingleton getInstance(string connectionString)
  24. {
  25. _connectionString = connectionString;
  26. return SingletonInstance.instance;
  27. }
  28. private static class SingletonInstance
  29. {
  30. public static BlobClientSingleton instance = new BlobClientSingleton()
  31. {
  32. // BlobClient = CloudStorageAccount.Parse(_connectionString).CreateCloudBlobClient()
  33. BlobClient = new CloudBlobClient(new Uri(_connectionString))
  34. };
  35. }
  36. }
  37. }