TableClientSingleton.cs 1.0 KB

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