dotnet / aspnetcore

ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
https://asp.net
MIT License
35.58k stars 10.05k forks source link

[Trimming] SignalR #41704

Open JamesNK opened 2 years ago

JamesNK commented 2 years ago

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

ghost commented 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.

ghost commented 2 years ago

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.

stealthin commented 1 year ago

Hey there! We really need this happening, do you have an ETA?

davidfowl commented 1 year ago

.NET ships yearly. We just finished 8, so 9 is next year. This will be considered in planning (which we haven’t done yet)

stealthin commented 1 year ago

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.

davidfowl commented 1 year ago

You can use raw WebSockets as an alternative. NativeAOT incompatibility is going to everywhere 😄 that didn't plan for it.

eerhardt commented 5 months ago

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:

eerhardt commented 4 months ago

The 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: