BlobClientSingleton.cs 1.1 KB

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