TableClientSingleton.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using Microsoft.WindowsAzure.Storage;
  2. using Microsoft.WindowsAzure.Storage.Table;
  3. namespace HaBookCms.AzureStorage.AzureTable
  4. {
  5. public sealed class TableClientSingleton
  6. {
  7. private static string _connectionString;
  8. private CloudTableClient TableClient;
  9. private TableClientSingleton() { }
  10. public CloudTableClient GetTableClient()
  11. {
  12. if (TableClient != null)
  13. {
  14. return TableClient;
  15. }
  16. else
  17. {
  18. getInstance(_connectionString);
  19. return TableClient;
  20. }
  21. }
  22. public static TableClientSingleton getInstance(string connectionString)
  23. {
  24. _connectionString = connectionString;
  25. return SingletonInstance.instance;
  26. }
  27. private static class SingletonInstance
  28. {
  29. public static TableClientSingleton instance = new TableClientSingleton()
  30. {
  31. TableClient = CloudStorageAccount.Parse(_connectionString).CreateCloudTableClient()
  32. };
  33. }
  34. }
  35. }