public async Task AddMetricObserverAsync(string resourceUriString) { if (!container.ContainsKey(resourceUriString)) { MetricObserver observer = new MetricObserver(); observer.OnNotify += Observer_OnNotify; string leaseKey = await manager.AddResourceObserverAsync(resourceUriString, leaseTime, observer); container.Add(resourceUriString, leaseKey); if (!timer.Enabled) { timer.Enabled = true; } } }
public async Task AddMetricObserverAsync(string resourceUriString) { if (!container.ContainsKey(resourceUriString)) { KeyValuePair <string, string>[] kvps = container.ToArray(); foreach (var item in kvps) { await RemoveMetricObserverAsync(item.Key); } MetricObserver observer = new MetricObserver(); observer.OnNotify += Observer_OnNotify; string leaseKey = await manager.AddResourceObserverAsync(resourceUriString, leaseTime, observer); container.Add(resourceUriString, leaseKey); if (!timer.Enabled) { timer.Enabled = true; } } }