//--------------------------------------------------------------------- // Count Cache async Task <int> IGrainDCacheMapCounter.countMap() { ListCountTask.Clear(); for (int i = 1; i <= MapCount; i++) { SB.Clear(); SB.Append(KeyTitle); SB.Append("_"); SB.Append(i); var grain_map = this.GrainFactory.GetGrain <IGrainDCacheMap>(SB.ToString()); ListCountTask.Add(grain_map.getMapCount()); } await Task.WhenAll(ListCountTask); MapCacheDataCount = 0; foreach (var i in ListCountTask) { if (i.IsCompleted) { MapCacheDataCount += ((Task <int>)i).Result; } } ListCountTask.Clear(); return(MapCacheDataCount); }
//--------------------------------------------------------------------- public override Task OnDeactivateAsync() { if (SB != null) { SB.Clear(); SB = null; } if (ListCountTask != null) { ListCountTask.Clear(); ListCountTask = null; } return(base.OnDeactivateAsync()); }