BlobClientSingleton.cs 1.2 KB

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