The future of ASP.NET SignalR

In ASP.NET Core 2.1, we brought SignalR into the ASP.NET Core family. Many of our users have asked what this means for the previous version of SignalR: ASP.NET SignalR.

As a reminder, ASP.NET SignalR is represented by the NuGet package Microsoft.AspNet.SignalR and runs on applications using .NET Framework and System.Web. ASP.NET Core SignalR is part of the ASP.NET Core platform which runs on both .NET Core and .NET Framework and uses the NuGet package Microsoft.AspNetCore.App.

Support for the Azure SignalR Service

This year, we’re planning to release version 2.4.0 of ASP.NET SignalR. This version will contain bug fixes as always, but will also include one major new feature: Support for the Azure SignalR Service.

The Azure SignalR Service is a managed service that handles scaling for SignalR-based applications. In May, we released this service into public preview with support for ASP.NET Core SignalR, and we’re pleased to announce that support for ASP.NET SignalR is also coming to the Azure SignalR Service. We expect the first preview of this to be available in Fall 2018, along with a preview release of SignalR 2.4.0. In order to migrate your application to use the Azure SignalR service, you will need to update both the client and the server to ASP.NET SignalR 2.4.0.

We’re still in the early stages of work on this feature, so we don’t have specific examples yet. However, this support will be similar to how ASP.NET Core SignalR supports the Azure SignalR Service. With minimal modifications to your server application, you will be able to enable support for the service. Once you’re using the Azure SignalR Service, your server application no longer has to manage all of the individual connections. Moving to the service also means you no longer require a scale-out system (such as Redis, Service Bus or SQL Server), as the service handles scaling for you.

Also, as with ASP.NET Core SignalR, as long as your clients are using the latest version of the SignalR Client (2.4.0), they will be able to connect via the service without modification.

If you’re interested in working with the Azure SignalR Service to migrate to this service and provide feedback, please contact the team by email at asrs@microsoft.com.

Client supported frameworks

Another thing we are planning to do in 2.4.0 is simplify the supported frameworks for the SignalR .NET Client. Our plan for 2.4.0 is to move the client to support:

  • .NET Standard 2.0 (which includes Xamarin, and the Universal Windows Platform)
  • .NET Framework 4.5 and higher

This does mean that version 2.4.0 of the .NET client will no longer support Windows 8/8.1 Store applications, Windows Phone applications, or Silverlight applications. We want some feedback on this though, so if you still have applications using the SignalR client that run on these platforms, let us know by commenting on the GitHub issue tracking this part of the work.

Handling the backlog of issues

While we didn’t forget about ASP.NET SignalR, we did let things get a little messy over there while we were building ASP.NET Core. If you look at the issue tracker you’ll see we have (at the time of publishing) over 500 open issues. We didn’t do a great job keeping on top of the backlog there. In order to get a handle on things, we’re going to have to declare a kind of “Issue Bankruptcy” to get back on top of the work.

So, in order to get back on top of the backlog, we’re going to close all issues that were opened prior to January 1st, 2018. This does not mean we’re not interested in fixing them, it just means they’ve gotten stale and we aren’t able to follow up on them. If one of these issues is affecting you, please feel free to open a new issue with the details and we will be happy to review it. There are a lot of issues in the tracker that are simply no longer relevant, or may have been addressed in a previous release.

Our priorities moving forward

With the release of ASP.NET Core SignalR, it’s necessary to talk about how the team is going to be prioritizing our work on the two variants of SignalR. Our plan moving forward is to shift our focus towards ASP.NET Core SignalR. This means that after the 2.4.0 release, we won’t be investing resources in new features for ASP.NET SignalR. However, this does not mean ASP.NET SignalR will be left unsupported. We will continue to respond to bug reports and fix critical or security-related issues. You should continue to feel confident using ASP.NET SignalR in your applications. Microsoft will also continue to provide product support services for ASP.NET SignalR.