/// <inheritdoc /> protected override async Task <(BoolResult contentStoreResult, BoolResult memoizationStoreResult)> CreateAndStartStoresAsync(OperationContext context) { var contentStoreResult = await ContentStore.StartupAsync(context); if (!contentStoreResult) { return(contentStoreResult, new BoolResult("DistributedOneLevelCache memoization store requires successful content store startup")); } var memoizationStoreResult = await CreateDistributedMemoizationStoreAsync(context); return(contentStoreResult, memoizationStoreResult); }
/// <inheritdoc /> protected override async Task <(BoolResult contentStoreResult, BoolResult memoizationStoreResult)> CreateAndStartStoresAsync(OperationContext context) { ContentStore = _contentStoreFunc(); MemoizationStore = _memoizationStoreFunc(); var preStartupResult = await PreStartupAsync(context).ThrowIfFailure(); var contentStoreTask = Task.Run(() => ContentStore.StartupAsync(context)); var memoizationStoreResult = await MemoizationStore.StartupAsync(context).ConfigureAwait(false); var contentStoreResult = await contentStoreTask.ConfigureAwait(false); return(contentStoreResult, memoizationStoreResult); }