diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/RandomHelper.cs b/framework/src/Volo.Abp.Core/Volo/Abp/RandomHelper.cs
index 1d6815dbdb..86100d5d3c 100644
--- a/framework/src/Volo.Abp.Core/Volo/Abp/RandomHelper.cs
+++ b/framework/src/Volo.Abp.Core/Volo/Abp/RandomHelper.cs
@@ -103,10 +103,15 @@ public static class RandomHelper
/// items
public static List GenerateRandomizedList([NotNull] IEnumerable items)
{
+ var array = items.ToArray();
#if NETSTANDARD2_0 || NETSTANDARD2_1
- return items.Shuffle(Rnd).ToList();
+ lock (Rnd)
+ {
+ return array.Shuffle(Rnd).ToList();
+ }
#else
- return items.Shuffle(Random.Shared).ToList();
+ Random.Shared.Shuffle(array);
+ return array.ToList();
#endif
}
}