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

6.4k views Asked by At

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?

2

There are 2 answers

3
Pawel On BEST ANSWER

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

1
Ahmed Abuelnour On

First of all, make sure you installed the last official version of SignalR for ASP.NET Core 2.0

Second follow that link How to get SignalR Working in ASP.NET Core 2