SignaR js 客户端协商请求 500

SignaR js client negociate request 500

我正在关注 msdn 中关于如何在 .Net Core 应用程序中使用 SignalR 和 js 客户端的基本教程。您可以在这里找到它:https://docs.microsoft.com/en-us/aspnet/core/tutorials/signalr?view=aspnetcore-2.1&tabs=visual-studio

当我尝试 运行 应用程序来测试这个简单的功能时,我收到了 500 negotiate POST 错误。

我什至在连接上设置日志级别以查看更多详细信息

const connection = new signalR.HubConnectionBuilder()
.withUrl("/chatHub")
.configureLogging(signalR.LogLevel.Trace)
.build();

我能从日志中得到的是:image with dev tool errors

这是我的后端代码: 聊天中心 class

using Microsoft.AspNetCore.SignalR;
using System.Threading.Tasks;

namespace Tasks.WebApp.Hubs
{
    public class ChatHub : Hub
    {
        public async Task SendMessage(string user, string message)
        {
            await Clients.All.SendAsync("Message", user, message);
        }
    }
}

启动时的配置class:

services.AddSignalR();

并且:

app.UseSignalR(routes =>
        {
            routes.MapHub<ChatHub>("/chatHub");
        });

你知道我在这里做错了什么吗?我对 SignalR 和 JS 很陌生,所以也许我在那里做错了什么,但我尽量严格按照教程进行操作。

谢谢!

通过启动 class 挖掘后,我发现问题与之前定义的路由有关。找到 个问题,这里的回复解决了我的问题。

必须把UseSignalR放在UseMvc之前。