Skip to content

Commit 4345c5f

Browse files
committed
Revert "Use Random.Shared property (#31453)"
This reverts commit 2458822. It breaks or templates, we can make this change once we are consuming an SDK version that has the right bits.
1 parent 8f56489 commit 4345c5f

File tree

25 files changed

+67
-50
lines changed

25 files changed

+67
-50
lines changed

src/Components/Samples/BlazorServerApp/Data/WeatherForecastService.cs

+3-2
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@ public class WeatherForecastService
1313

1414
public Task<WeatherForecast[]> GetForecastAsync(DateTime startDate)
1515
{
16+
var rng = new Random();
1617
return Task.FromResult(Enumerable.Range(1, 5).Select(index => new WeatherForecast
1718
{
1819
Date = startDate.AddDays(index),
19-
TemperatureC = Random.Shared.Next(-20, 55),
20-
Summary = Summaries[Random.Shared.Next(Summaries.Length)]
20+
TemperatureC = rng.Next(-20, 55),
21+
Summary = Summaries[rng.Next(Summaries.Length)]
2122
}).ToArray());
2223
}
2324
}

src/Components/WebAssembly/Samples/HostedBlazorWebassemblyApp/Server/Data/WeatherForecastService.cs

+3-2
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,12 @@ public class WeatherForecastService : IWeatherForecastService
1515

1616
public Task<WeatherForecast[]> GetForecastAsync(DateTime startDate)
1717
{
18+
var rng = new Random();
1819
return Task.FromResult(Enumerable.Range(1, 5).Select(index => new WeatherForecast
1920
{
2021
Date = startDate.AddDays(index),
21-
TemperatureC = Random.Shared.Next(-20, 55),
22-
Summary = Summaries[Random.Shared.Next(Summaries.Length)]
22+
TemperatureC = rng.Next(-20, 55),
23+
Summary = Summaries[rng.Next(Summaries.Length)]
2324
}).ToArray());
2425
}
2526
}

src/Components/WebAssembly/testassets/Wasm.Authentication.Server/Controllers/WeatherForecastController.cs

+3-2
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,12 @@ public WeatherForecastController(ILogger<WeatherForecastController> logger)
2828
[HttpGet]
2929
public IEnumerable<WeatherForecast> Get()
3030
{
31+
var rng = new Random();
3132
return Enumerable.Range(1, 5).Select(index => new WeatherForecast
3233
{
3334
Date = DateTime.Now.AddDays(index),
34-
TemperatureC = Random.Shared.Next(-20, 55),
35-
Summary = Summaries[Random.Shared.Next(Summaries.Length)]
35+
TemperatureC = rng.Next(-20, 55),
36+
Summary = Summaries[rng.Next(Summaries.Length)]
3637
})
3738
.ToArray();
3839
}

src/Components/benchmarkapps/BlazingPizza.Server/Pages/Map.razor

+3-2
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,16 @@
1010
@functions {
1111
private int locX;
1212
private int locY;
13+
private Random random = new Random();
1314
private Timer timer;
1415
private string locString;
1516

1617
protected override void OnInitialized()
1718
{
1819
timer = new Timer(_ =>
1920
{
20-
locX = Random.Shared.Next(1000);
21-
locY = Random.Shared.Next(1000);
21+
locX = random.Next(1000);
22+
locY = random.Next(1000);
2223
locString = $"{locX},{locY}";
2324

2425
InvokeAsync(() => StateHasChanged());

src/Components/benchmarkapps/Wasm.Performance/TestApp/Pages/TimerComponent.razor

+4-3
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
@code
99
{
10+
Random random = new Random();
1011
Timer timer;
1112
int red = 128;
1213
int green = 128;
@@ -21,9 +22,9 @@
2122
{
2223
InvokeAsync(() =>
2324
{
24-
red = Random.Shared.Next(0, 256);
25-
green = Random.Shared.Next(0, 256);
26-
blue = Random.Shared.Next(0, 256);
25+
red = random.Next(0, 256);
26+
green = random.Next(0, 256);
27+
blue = random.Next(0, 256);
2728
StateHasChanged();
2829
BenchmarkEvent.Send(JSRuntime, "Finished updating color");
2930
});

src/Components/test/testassets/BasicTestApp/ReorderingFocusComponent.razor

+2-1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
</ul>
3232

3333
@code {
34+
Random rng = new Random();
3435
TodoItem[] todoItems = new[]
3536
{
3637
new TodoItem { Id = 1, Text = "First" },
@@ -42,7 +43,7 @@
4243

4344
void Shuffle()
4445
{
45-
todoItems = todoItems.OrderBy(x => Random.Shared.Next()).ToArray();
46+
todoItems = todoItems.OrderBy(x => rng.Next()).ToArray();
4647
}
4748

4849
class TodoItem

src/DataProtection/DataProtection/src/KeyManagement/KeyRingProvider.cs

+1-6
Original file line numberDiff line numberDiff line change
@@ -259,12 +259,7 @@ private static TimeSpan GetRefreshPeriodWithJitter(TimeSpan refreshPeriod)
259259
// hit a single repository simultaneously. For instance, if the refresh period is 1 hour,
260260
// we'll return a value in the vicinity of 48 - 60 minutes. We use the Random class since
261261
// we don't need a secure PRNG for this.
262-
#if NET6_0_OR_GREATER
263-
var random = Random.Shared;
264-
#else
265-
var random = new Random();
266-
#endif
267-
return TimeSpan.FromTicks((long)(refreshPeriod.Ticks * (1.0d - (random.NextDouble() / 5))));
262+
return TimeSpan.FromTicks((long)(refreshPeriod.Ticks * (1.0d - (new Random().NextDouble() / 5))));
268263
}
269264

270265
private static DateTimeOffset Min(DateTimeOffset a, DateTimeOffset b)

src/Http/Routing/test/UnitTests/RouteCollectionTest.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -512,7 +512,8 @@ private static RouteCollection GetRouteCollectionWithNamedRoutes(IEnumerable<str
512512

513513
private static RouteCollection GetNestedRouteCollection(string[] routeNames)
514514
{
515-
int index = Random.Shared.Next(0, routeNames.Length - 1);
515+
var random = new Random();
516+
int index = random.Next(0, routeNames.Length - 1);
516517
var first = routeNames.Take(index).ToArray();
517518
var second = routeNames.Skip(index).ToArray();
518519

src/Identity/Specification.Tests/src/UserManagerSpecificationTests.cs

+3-2
Original file line numberDiff line numberDiff line change
@@ -305,8 +305,9 @@ public async Task CheckSetEmailValidatesUser()
305305
var manager = CreateManager();
306306
manager.Options.User.RequireUniqueEmail = true;
307307
manager.UserValidators.Add(new UserValidator<TUser>());
308-
var email = "foo" + Random.Shared.Next() + "@example.com";
309-
var newEmail = "bar" + Random.Shared.Next() + "@example.com";
308+
var random = new Random();
309+
var email = "foo" + random.Next() + "@example.com";
310+
var newEmail = "bar" + random.Next() + "@example.com";
310311
var user = CreateTestUser(email: email);
311312
IdentityResultAssert.IsSuccess(await manager.CreateAsync(user));
312313
IdentityResultAssert.IsSuccess(await manager.SetEmailAsync(user, newEmail));

src/Middleware/HeaderPropagation/samples/HeaderPropagationSample/Startup.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,11 @@ private static StringValues GenerateBetaFeatureOptions()
111111

112112
var threshold = 0.80; // 20% chance for each feature in beta.
113113

114+
var random = new Random();
114115
var values = new List<string>();
115116
for (var i = 0; i < features.Length; i++)
116117
{
117-
if (Random.Shared.NextDouble() > threshold)
118+
if (random.NextDouble() > threshold)
118119
{
119120
values.Add(features[i]);
120121
}

src/Mvc/perf/Microbenchmarks/Microsoft.AspNetCore.Mvc/HelperPerformanceBenchmark.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ namespace Microsoft.AspNetCore.Mvc.Microbenchmarks
3434
{
3535
public class HelperPerformanceBenchmark : RuntimePerformanceBenchmarkBase
3636
{
37+
private Random _rand = new Random();
3738
public HelperPerformanceBenchmark() : base(
3839
"~/Views/HelperTyped.cshtml",
3940
"~/Views/HelperDynamic.cshtml",
@@ -44,6 +45,6 @@ public HelperPerformanceBenchmark() : base(
4445
{
4546
}
4647

47-
protected override object Model => Random.Shared.Next().ToString(CultureInfo.InvariantCulture);
48+
protected override object Model => _rand.Next().ToString(CultureInfo.InvariantCulture);
4849
}
4950
}

src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/Data/WeatherForecastService.cs

+3-2
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@ public class WeatherForecastService
1313

1414
public Task<WeatherForecast[]> GetForecastAsync(DateTime startDate)
1515
{
16+
var rng = new Random();
1617
return Task.FromResult(Enumerable.Range(1, 5).Select(index => new WeatherForecast
1718
{
1819
Date = startDate.AddDays(index),
19-
TemperatureC = Random.Shared.Next(-20, 55),
20-
Summary = Summaries[Random.Shared.Next(Summaries.Length)]
20+
TemperatureC = rng.Next(-20, 55),
21+
Summary = Summaries[rng.Next(Summaries.Length)]
2122
}).ToArray());
2223
}
2324
}

src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/Server/Controllers/WeatherForecastController.cs

+9-6
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,12 @@ public async Task<IEnumerable<WeatherForecast>> Get()
6969
throw new HttpRequestException($"Invalid status code in the HttpResponseMessage: {response.StatusCode}: {error}");
7070
}
7171

72+
var rng = new Random();
7273
return Enumerable.Range(1, 5).Select(index => new WeatherForecast
7374
{
7475
Date = DateTime.Now.AddDays(index),
75-
TemperatureC = Random.Shared.Next(-20, 55),
76-
Summary = Summaries[Random.Shared.Next(Summaries.Length)]
76+
TemperatureC = rng.Next(-20, 55),
77+
Summary = Summaries[rng.Next(Summaries.Length)]
7778
})
7879
.ToArray();
7980
}
@@ -94,11 +95,12 @@ public async Task<IEnumerable<WeatherForecast>> Get()
9495
HttpContext.VerifyUserHasAnyAcceptedScope(scopeRequiredByApi);
9596
var user = await _graphServiceClient.Me.Request().GetAsync();
9697

98+
var rng = new Random();
9799
return Enumerable.Range(1, 5).Select(index => new WeatherForecast
98100
{
99101
Date = DateTime.Now.AddDays(index),
100-
TemperatureC = Random.Shared.Next(-20, 55),
101-
Summary = Summaries[Random.Shared.Next(Summaries.Length)]
102+
TemperatureC = rng.Next(-20, 55),
103+
Summary = Summaries[rng.Next(Summaries.Length)]
102104
})
103105
.ToArray();
104106
}
@@ -115,11 +117,12 @@ public IEnumerable<WeatherForecast> Get()
115117
HttpContext.VerifyUserHasAnyAcceptedScope(scopeRequiredByApi);
116118

117119
#endif
120+
var rng = new Random();
118121
return Enumerable.Range(1, 5).Select(index => new WeatherForecast
119122
{
120123
Date = DateTime.Now.AddDays(index),
121-
TemperatureC = Random.Shared.Next(-20, 55),
122-
Summary = Summaries[Random.Shared.Next(Summaries.Length)]
124+
TemperatureC = rng.Next(-20, 55),
125+
Summary = Summaries[rng.Next(Summaries.Length)]
123126
})
124127
.ToArray();
125128
}

src/ProjectTemplates/Web.Spa.ProjectTemplates/content/Angular-CSharp/Controllers/WeatherForecastController.cs

+3-2
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,12 @@ public WeatherForecastController(ILogger<WeatherForecastController> logger)
3232
[HttpGet]
3333
public IEnumerable<WeatherForecast> Get()
3434
{
35+
var rng = new Random();
3536
return Enumerable.Range(1, 5).Select(index => new WeatherForecast
3637
{
3738
Date = DateTime.Now.AddDays(index),
38-
TemperatureC = Random.Shared.Next(-20, 55),
39-
Summary = Summaries[Random.Shared.Next(Summaries.Length)]
39+
TemperatureC = rng.Next(-20, 55),
40+
Summary = Summaries[rng.Next(Summaries.Length)]
4041
})
4142
.ToArray();
4243
}

src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/Controllers/WeatherForecastController.cs

+3-2
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,12 @@ public WeatherForecastController(ILogger<WeatherForecastController> logger)
3232
[HttpGet]
3333
public IEnumerable<WeatherForecast> Get()
3434
{
35+
var rng = new Random();
3536
return Enumerable.Range(1, 5).Select(index => new WeatherForecast
3637
{
3738
Date = DateTime.Now.AddDays(index),
38-
TemperatureC = Random.Shared.Next(-20, 55),
39-
Summary = Summaries[Random.Shared.Next(Summaries.Length)]
39+
TemperatureC = rng.Next(-20, 55),
40+
Summary = Summaries[rng.Next(Summaries.Length)]
4041
})
4142
.ToArray();
4243
}

src/ProjectTemplates/Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/Controllers/WeatherForecastController.cs

+3-2
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,12 @@ public WeatherForecastController(ILogger<WeatherForecastController> logger)
2626
[HttpGet]
2727
public IEnumerable<WeatherForecast> Get()
2828
{
29+
var rng = new Random();
2930
return Enumerable.Range(1, 5).Select(index => new WeatherForecast
3031
{
3132
Date = DateTime.Now.AddDays(index),
32-
TemperatureC = Random.Shared.Next(-20, 55),
33-
Summary = Summaries[Random.Shared.Next(Summaries.Length)]
33+
TemperatureC = rng.Next(-20, 55),
34+
Summary = Summaries[rng.Next(Summaries.Length)]
3435
})
3536
.ToArray();
3637
}

src/Servers/IIS/IIS/test/Common.FunctionalTests/AspNetCorePortTests.cs

+3-1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ public class AspNetCorePortTests : IISFunctionalTestBase
2222
private const int _minPort = 1025;
2323
private const int _maxPort = 48000;
2424

25+
private static readonly Random _random = new Random();
26+
2527
public AspNetCorePortTests(PublishedSitesFixture fixture) : base(fixture)
2628
{
2729
}
@@ -142,7 +144,7 @@ private static int GetUnusedRandomPort()
142144

143145
for (var i = 0; i < retries; i++)
144146
{
145-
var port = Random.Shared.Next(_minPort, _maxPort);
147+
var port = _random.Next(_minPort, _maxPort);
146148

147149
using (var socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp))
148150
{

src/Servers/IIS/IIS/test/Common.FunctionalTests/RequestResponseTests.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -672,6 +672,7 @@ public async Task ClientDisconnectStress()
672672
{
673673
var maxRequestSize = 1000;
674674
var blockSize = 40;
675+
var random = new Random();
675676
async Task RunRequests()
676677
{
677678
using (var connection = _fixture.CreateTestConnection())
@@ -684,7 +685,7 @@ await connection.Send(
684685
"",
685686
"");
686687

687-
var disconnectAfter = Random.Shared.Next(maxRequestSize);
688+
var disconnectAfter = random.Next(maxRequestSize);
688689
var data = new byte[blockSize];
689690
for (int i = 0; i < disconnectAfter / blockSize; i++)
690691
{

src/Servers/Kestrel/shared/test/MockSystemClock.cs

+3-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ namespace Microsoft.AspNetCore.Testing
99
{
1010
public class MockSystemClock : ISystemClock
1111
{
12+
private static Random _random = new Random();
13+
1214
private long _utcNowTicks;
1315

1416
public MockSystemClock()
@@ -39,7 +41,7 @@ public DateTimeOffset UtcNow
3941

4042
private long NextLong(long minValue, long maxValue)
4143
{
42-
return (long)(Random.Shared.NextDouble() * (maxValue - minValue) + minValue);
44+
return (long)(_random.NextDouble() * (maxValue - minValue) + minValue);
4345
}
4446
}
4547
}

src/Servers/Kestrel/stress/Program.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ public static void Main(string[] args)
6464
logPath : cmdline.HasOption("-trace") ? cmdline.ValueForOption<string>("-trace") : null,
6565
aspnetLog : cmdline.ValueForOption<bool>("-aspnetlog"),
6666
listOps : cmdline.ValueForOption<bool>("-listOps"),
67-
seed : cmdline.ValueForOption<int?>("-seed") ?? Random.Shared.Next());
67+
seed : cmdline.ValueForOption<int?>("-seed") ?? new Random().Next());
6868
}
6969

7070
private static void Run(int concurrentRequests, int maxContentLength, Version[] httpVersions, int? connectionLifetime, int[] opIndices, string logPath, bool aspnetLog, bool listOps, int seed)

src/SignalR/common/SignalR.Common/test/Internal/Protocol/MemoryBufferWriterTests.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -405,7 +405,7 @@ public void GetMemoryAllocatesNewSegmentWhenInsufficientSpaceInCurrentSegment()
405405
using (var bufferWriter = new MemoryBufferWriter(MinimumSegmentSize))
406406
{
407407
var data = new byte[MinimumSegmentSize];
408-
Random.Shared.NextBytes(data);
408+
new Random().NextBytes(data);
409409

410410
// Write half the minimum segment size
411411
bufferWriter.Write(data.AsSpan(0, MinimumSegmentSize / 2));

src/SignalR/perf/Microbenchmarks/MessageParserBenchmark.cs

+3-2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ namespace Microsoft.AspNetCore.SignalR.Microbenchmarks
1111
{
1212
public class MessageParserBenchmark
1313
{
14+
private static readonly Random Random = new Random();
1415
private byte[] _binaryInput;
1516
private byte[] _textInput;
1617

@@ -24,7 +25,7 @@ public class MessageParserBenchmark
2425
public void Setup()
2526
{
2627
var buffer = new byte[MessageLength];
27-
Random.Shared.NextBytes(buffer);
28+
Random.NextBytes(buffer);
2829
var writer = MemoryBufferWriter.Get();
2930
try
3031
{
@@ -38,7 +39,7 @@ public void Setup()
3839
}
3940

4041
buffer = new byte[MessageLength];
41-
Random.Shared.NextBytes(buffer);
42+
Random.NextBytes(buffer);
4243
writer = MemoryBufferWriter.Get();
4344
try
4445
{

src/SignalR/samples/JwtClientSample/Program.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ await Task.WhenAll(
2424
private const string ServerUrl = "http://localhost:54543";
2525

2626
private readonly ConcurrentDictionary<string, Task<string>> _tokens = new ConcurrentDictionary<string, Task<string>>(StringComparer.Ordinal);
27+
private readonly Random _random = new Random();
2728

2829
private async Task RunConnection(HttpTransportType transportType)
2930
{
@@ -71,7 +72,7 @@ private async Task RunConnection(HttpTransportType transportType)
7172
if (ticks % nextMsgAt == 0)
7273
{
7374
await hubConnection.SendAsync("Broadcast", userId, $"Hello at {DateTime.Now}");
74-
nextMsgAt = Random.Shared.Next(2, 5);
75+
nextMsgAt = _random.Next(2, 5);
7576
}
7677
}
7778
}

0 commit comments

Comments
 (0)