diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index ff619631abac..bccf151b3b67 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -9,321 +9,321 @@ --> - + https://github.com/dotnet/efcore - 34b34b98e9ebf367bf2e212289c6b7fec9742521 + b154f2de54e6e15ce7290d6d01e89410b443b178 - + https://github.com/dotnet/efcore - 34b34b98e9ebf367bf2e212289c6b7fec9742521 + b154f2de54e6e15ce7290d6d01e89410b443b178 - + https://github.com/dotnet/efcore - 34b34b98e9ebf367bf2e212289c6b7fec9742521 + b154f2de54e6e15ce7290d6d01e89410b443b178 - + https://github.com/dotnet/efcore - 34b34b98e9ebf367bf2e212289c6b7fec9742521 + b154f2de54e6e15ce7290d6d01e89410b443b178 - + https://github.com/dotnet/efcore - 34b34b98e9ebf367bf2e212289c6b7fec9742521 + b154f2de54e6e15ce7290d6d01e89410b443b178 - + https://github.com/dotnet/efcore - 34b34b98e9ebf367bf2e212289c6b7fec9742521 + b154f2de54e6e15ce7290d6d01e89410b443b178 - + https://github.com/dotnet/efcore - 34b34b98e9ebf367bf2e212289c6b7fec9742521 + b154f2de54e6e15ce7290d6d01e89410b443b178 - + https://github.com/dotnet/efcore - 34b34b98e9ebf367bf2e212289c6b7fec9742521 + b154f2de54e6e15ce7290d6d01e89410b443b178 - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b https://github.com/dotnet/xdt @@ -363,9 +363,9 @@ afa1eb6821f62183651ab017b2f5c3fbeb934904 - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b @@ -376,9 +376,9 @@ - + https://github.com/dotnet/runtime - 5111fdc0dc464f01647d6b6078342f451bf3a499 + 017593d90781d797df8b2241f6d1f83c236c442b https://github.com/dotnet/winforms diff --git a/eng/Versions.props b/eng/Versions.props index 913b2dead144..bcfb6d1b0359 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -63,91 +63,91 @@ --> - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 - 9.0.0-preview.4.24222.10 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 + 9.0.0-preview.4.24230.9 9.0.0-preview.4.24220.1 9.0.0-preview.4.24220.1 - 9.0.0-preview.5.24223.6 - 9.0.0-preview.5.24223.6 - 9.0.0-preview.5.24223.6 - 9.0.0-preview.5.24223.6 - 9.0.0-preview.5.24223.6 - 9.0.0-preview.5.24223.6 - 9.0.0-preview.5.24223.6 - 9.0.0-preview.5.24223.6 + 9.0.0-preview.5.24230.1 + 9.0.0-preview.5.24230.1 + 9.0.0-preview.5.24230.1 + 9.0.0-preview.5.24230.1 + 9.0.0-preview.5.24230.1 + 9.0.0-preview.5.24230.1 + 9.0.0-preview.5.24230.1 + 9.0.0-preview.5.24230.1 4.11.0-1.24218.5 4.11.0-1.24218.5 diff --git a/src/SignalR/clients/csharp/Client.Core/src/HubConnection.cs b/src/SignalR/clients/csharp/Client.Core/src/HubConnection.cs index 3c26969c1cb7..6825679330f2 100644 --- a/src/SignalR/clients/csharp/Client.Core/src/HubConnection.cs +++ b/src/SignalR/clients/csharp/Client.Core/src/HubConnection.cs @@ -829,12 +829,20 @@ private void LaunchStreams(ConnectionState connectionState, Dictionary).Name}."); } } diff --git a/src/SignalR/common/Shared/ReflectionHelper.cs b/src/SignalR/common/Shared/ReflectionHelper.cs index 25edb5d8dcdb..e310fa31b835 100644 --- a/src/SignalR/common/Shared/ReflectionHelper.cs +++ b/src/SignalR/common/Shared/ReflectionHelper.cs @@ -2,7 +2,9 @@ // The .NET Foundation licenses this file to you under the MIT license. using System; +using System.Collections.Concurrent; using System.Collections.Generic; +using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Linq; using System.Threading.Channels; @@ -22,18 +24,26 @@ public static bool IsStreamingType([DynamicallyAccessedMembers(DynamicallyAccess return true; } - Type? nullableType = type; + return TryGetStreamType(type, out _, mustBeDirectType); + } + public static bool TryGetStreamType(Type streamType, [NotNullWhen(true)] out Type? streamGenericType, bool mustBeDirectType = false) + { + Type? nullableType = streamType; do { if (nullableType.IsGenericType && nullableType.GetGenericTypeDefinition() == typeof(ChannelReader<>)) { + Debug.Assert(nullableType.GetGenericArguments().Length == 1); + + streamGenericType = nullableType.GetGenericArguments()[0]; return true; } nullableType = nullableType.BaseType; } while (mustBeDirectType == false && nullableType != null); + streamGenericType = null; return false; }