public LoggingStorageResolver( IStorageResolver StorageResolver, ILoggingStorageFactory loggingStorageFactory) { _storageResolver = StorageResolver; _loggingStorageFactory = loggingStorageFactory; }
/// <summary> /// Creates a new Azure metadata service provider using the cloud table client provided. /// </summary> /// <param name="tableClient">The cloud table client.</param> /// <param name="storageResolver">The table address and partition key resolver.</param> public AzureMetadataServiceProvider(ITableClient tableClient, IStorageResolver storageResolver) { var defaultClientBackoff = TimeSpan.FromMilliseconds(100); var maxAttempts = 3; var requestOptions = new TableRequestOptions { RetryPolicy = new ExponentialRetry(defaultClientBackoff, maxAttempts) }; Provider = new AzureMetadataQueryProvider(tableClient, storageResolver, requestOptions); }
/// <summary> /// Creates a new reactive metadata service proxy using a table client. /// </summary> /// <param name="tableClient">The table storage client.</param> /// <param name="storageResolver">The table address and partition key resolver.</param> public AzureReactiveMetadataProxy(ITableClient tableClient, IStorageResolver storageResolver) : this(new AzureMetadataServiceProvider(tableClient, storageResolver), new ReactiveExpressionServices(typeof(IReactiveClientProxy))) { }
/// <summary> /// Instantiates the query provider with an empty connection string, which signals to use the developer emulator. /// </summary> /// <param name="tableClient">The cloud table client.</param> /// <param name="storageResolver">The table address and partition key resolver.</param> /// <param name="requestOptions">Table request options, including retry policy.</param> public AzureMetadataQueryProvider(ITableClient tableClient, IStorageResolver storageResolver, TableRequestOptions requestOptions) { _tableClient = tableClient ?? throw new ArgumentNullException(nameof(tableClient)); _storageResolver = storageResolver ?? throw new ArgumentNullException(nameof(storageResolver)); _requestOptions = requestOptions; }