static void Main(string[] args) { ConfigurationBuilder configurationBuilder = new ConfigurationBuilder(); _configuration = configurationBuilder.AddCommandLine(args).AddEnvironmentVariables().Build(); Ensure.That(_configuration["FhirServerUrl"]).IsNotNullOrWhiteSpace(); Ensure.That(_configuration["Authority"]).IsNotNullOrWhiteSpace(); Ensure.That(_configuration["ClientId"]).IsNotNullOrWhiteSpace(); Ensure.That(_configuration["ClientSecret"]).IsNotNullOrWhiteSpace(); try { string authority = _configuration["Authority"]; string audience = string.IsNullOrEmpty(_configuration["Audience"]) ? _configuration["FhirServerUrl"] : _configuration["Audience"]; string clientId = _configuration["ClientId"]; string clientSecret = _configuration["ClientSecret"]; FhirAuthenticator auth = new FhirAuthenticator(authority, clientId, clientSecret, audience); FhirQueryDeleter deleter = new FhirQueryDeleter(_configuration["FhirServerUrl"], auth); deleter.AppendQuery("/"); } catch (Exception) { Console.WriteLine("Failed to run export"); throw; } }
public FhirQueryDeleter(string serverUrl, FhirAuthenticator fhirAuthenticator, int parallel = 4) { ServerUrl = serverUrl; FhirAuth = fhirAuthenticator; QueryQueue = new ActionBlock <string>(s => AppendQueryWorker(s), new ExecutionDataflowBlockOptions { MaxDegreeOfParallelism = parallel }); }