//Generic query method based on a Filter, returning a IList<T> public static async Task <IList <T> > QueryReliableDictionary <T>(Microsoft.ServiceFabric.Data.IReliableStateManager stateManager, string reliableDictionaryName, Func <T, bool> filter) { var result = new List <T>(); IReliableDictionary <Guid, T> reliableDictionary = await stateManager.GetOrAddAsync <IReliableDictionary <Guid, T> >(reliableDictionaryName); using (var tx = stateManager.CreateTransaction()) { Microsoft.ServiceFabric.Data.IAsyncEnumerable <KeyValuePair <Guid, T> > asyncEnumerable = await reliableDictionary.CreateEnumerableAsync(tx); using (Microsoft.ServiceFabric.Data.IAsyncEnumerator <KeyValuePair <Guid, T> > asyncEnumerator = asyncEnumerable.GetAsyncEnumerator()) { while (await asyncEnumerator.MoveNextAsync(CancellationToken.None)) { bool addToResult = false; if (filter == null) { addToResult = true; } else { if (filter(asyncEnumerator.Current.Value)) { addToResult = true; } } if (addToResult) { result.Add(asyncEnumerator.Current.Value); } } } } return(result); }
public static void StateManager(this NServiceBus.PersistenceExtensions <NServiceBus.Persistence.ServiceFabric.ServiceFabricPersistence> configuration, Microsoft.ServiceFabric.Data.IReliableStateManager stateManager) { }