Browse Source

Add early-exit guard for states with no non-batch checkers in batch path

pull/25276/head
maliming 6 months ago
parent
commit
3c52892db0
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 6
      framework/src/Volo.Abp.Core/Volo/Abp/SimpleStateChecking/SimpleStateCheckerManager.cs

6
framework/src/Volo.Abp.Core/Volo/Abp/SimpleStateChecking/SimpleStateCheckerManager.cs

@ -69,9 +69,13 @@ public class SimpleStateCheckerManager<TState> : ISimpleStateCheckerManager<TSta
}
}
var hasNonBatchGlobalCheckers = Options.GlobalStateCheckers
.Any(x => !typeof(ISimpleBatchStateChecker<TState>).IsAssignableFrom(x));
foreach (var state in states)
{
if (result[state])
if (result[state] &&
(hasNonBatchGlobalCheckers || state.StateCheckers.Any(x => x is not ISimpleBatchStateChecker<TState>)))
{
result[state] = await EvaluateCheckersAsync(state, false, scope);
}

Loading…
Cancel
Save