Search code examples
c#asp.net-mvcsignalrasp.net-core-signalr

Asp .Net Core 2 + SignalR (1.0.0-alpha2-27025) + /signalr/negotiate 404 Error


I add SignalR to ASP .Net Core 2 app

packages

  • "Microsoft.AspNetCore.All" Version="2.0.0"
  • "Microsoft.AspNetCore.SignalR" Version="1.0.0-alpha2-27025"
  • "Microsoft.AspNetCore.SignalR.Client" Version="1.0.0-alpha2-27025"
  • "Microsoft.AspNetCore.SignalR.Client.Core" Version="1.0.0-alpha2-27025"
  • "Microsoft.AspNetCore.SignalR.Common" Version="1.0.0-alpha2-27025"
  • "Microsoft.AspNetCore.SignalR.Core" Version="1.0.0-alpha2-27025"
public IServiceProvider ConfigureServices(IServiceCollection services)
{
    services.AddSignalRCore();
    services.AddSignalR();
}

and

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IServiceProvider serviceProvider)
    app.UseSignalR(routes =>
    {
        routes.MapHub<ManageHub>("manageHub");
    });
}

url:port/signalr, url:port/signalr/negotiate... return 404

url:port/manageHub return 400 with "Connection ID required"

I not found .MapSignalR()

How use SignalR in ASP .Net Core?


Solution

  • You seem to be using the old client. SignalR for ASP.NET Core does not use the /negotiate endpoint anymore. The new SignalR server is not compatible with old client and the new clients are not compatible with the old SignalR server. Take a look at the announcement and samples