Open JamesNK opened 2 years ago
Thanks for contacting us.
We're moving this issue to the .NET 7 Planning
milestone for future evaluation / consideration. We would like to keep this around to collect more feedback, which can help us with prioritizing this work. We will re-evaluate this issue, during our next planning meeting(s).
If we later determine, that the issue has no community involvement, or it's very rare and low-impact issue, we will close it - so that the team can focus on more important and high impact issues.
To learn more about what to expect next and how this issue will be handled you can read more about our triage process here.
Thanks for contacting us.
We're moving this issue to the .NET 8 Planning
milestone for future evaluation / consideration. We would like to keep this around to collect more feedback, which can help us with prioritizing this work. We will re-evaluate this issue, during our next planning meeting(s).
If we later determine, that the issue has no community involvement, or it's very rare and low-impact issue, we will close it - so that the team can focus on more important and high impact issues.
To learn more about what to expect next and how this issue will be handled you can read more about our triage process here.
Hey there! We really need this happening, do you have an ETA?
.NET ships yearly. We just finished 8, so 9 is next year. This will be considered in planning (which we haven’t done yet)
Thank you for your answer @davidfowl. I guess this won't weight much, but if it could get prioritized that'll be awesome. There isn't any solid alternative to SignalR, and this NativeAOT compatiblity is our single blocker as of today.
You can use raw WebSockets as an alternative. NativeAOT incompatibility is going to everywhere 😄 that didn't plan for it.
https://github.com/dotnet/aspnetcore/pull/56079 and https://github.com/dotnet/aspnetcore/pull/56460 make the core of SignalR client and server, along with the JsonProtocol trimming and AOT compatible with the following known limitations/drawbacks:
IAsyncEnumerable<T>
and ChannelReader<T>
where T
is a ValueType are not supported
IAsyncEnumerable<T>
and ChannelReader<T>
parameters where T
is a ValueType in native AOT. It is only the server where this scenario can't be supported.IAsyncEnumerable<T>
and ChannelReader<T>
where T
is a ValueType are supported in both the client and the serverMicrosoft.AspNetCore.SignalR.Hub.IsCustomAwaitableSupported
AppContext switch and SignalRCustomAwaitableSupport
MSBuild property) that is disabled by default in trimmed and AOT'd appsThe core of SignalR server and client is trimming and native AOT compatible as of .NET 9 Preview 7. Along with the Json protocol.
Leaving this issue open to track also making the following trim and native AOT compatible:
Is there an existing issue for this?
Is your feature request related to a problem? Please describe the problem.
SignalR should run in a trimmed app.
Describe the solution you'd like
Shipping projects under https://github.com/dotnet/aspnetcore/tree/main/src/SignalR need to add support for trimming.
See https://github.com/dotnet/aspnetcore/blob/main/docs/Trimming.md for instructions
Additional context
No response