public void Start(CancellationToken cancellationToken) { this.blobUrl = StorageAgent.GenerateBlobs(this.storageAccount, this.deviceName, this.tags); client = new MTConnectClient(baseUrl + deviceName, tags, interval, cancellationToken); client.ProbeCompleted += client_ProbeCompleted; client.DataItemChanged += client_DataItemChanged; client.DataItemsChanged += client_DataItemsChanged; client.Probe(); }
void client_DataItemsChanged(object sender, EventArgs e) { IList <Task> tasks = new List <Task>(); foreach (var dataKeyValue in dataDictionary) { if (dataKeyValue.Value.Length > 0) { tasks.Add(StorageAgent.UploadBlockAsync(blobUrl[dataKeyValue.Key], headerFormat, dataKeyValue.Value.ToString())); dataKeyValue.Value.Clear(); } } Task.WaitAll(tasks.ToArray()); }